
Ich habe versucht, den untenstehenden Code für das Excel-Programm auf meinem Mac Mini mit OS X Version 10.7.2 zu verwenden und es kommt immer die Meldung „Fehler aufgrund des Dateinamens/Pfads“:(Die Excel-Datei, die ich erstelle, wird eine Vorlage mit meinen installierten Formeln und Makros sein, die immer wieder verwendet wird).
Sub CreateFile()
Do While Not IsEmpty(ActiveCell.Offset(0, 1))
MyFile = ActiveCell.Value & ".txt"
fnum = FreeFile()
Open MyFile For Output As fnum
Print #fnum, ActiveCell.Offset(0, 1) & " " & ActiveCell.Offset(0, 2)
Close #fnum
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Was ich versuche zu tun:
1. Ziel
Ich möchte die folgenden Daten zum Erstellen einer Textdatei verwenden. Der Name der Datei muss A:A sein. B:2 ist der Inhalt, den ich in der Textdatei brauche.
Also ist A2 - „repair-video-game-Glassboro-NJ-08028.txt“ der Dateiname und B2 der Inhalt der Datei. Als nächstes ist A3 der Dateiname und B3 der Inhalt der Datei usw. SOBALD der Inhalt liest, was in Zelle A16 und B16 steht (Länge variiert), sollte die Dateierstellung gestoppt werden, wenn nicht, kann ich die zusätzlich erstellten Dateien löschen.
Dieses Blatt wird sich nie ändern. Gibt es eine Möglichkeit, das Excel-Makro so einzurichten, dass es immer zu diesem Blatt geht, anstatt es mit der Maus auswählen zu müssen, um den Startpunkt zu identifizieren?
2. Ziel
Ich möchte die folgenden Daten zum Erstellen einer Textdatei verwenden. Der Name der Datei muss A:1 sein. B:B ist der Inhalt, den ich in der Datei haben möchte.
Also ist A2 der Dateiname „geo-sitemap.xml“ und B:B der Inhalt der Datei (ignorieren Sie die Dateierweiterung .xml auf dem Foto). SOBALD die Inhaltszelle liest, was in Zelle „B16“ steht (Länge kann variieren), sollte die Dateierstellung gestoppt werden. Wenn nicht, kann ich die Zellen anpassen, die Inhalt benötigen (der formulierte Inhalt, den Sie im Bild sehen, ist für 500 Zeilen voreingestellt).
Dieses Blatt wird sich nie ändern. Gibt es eine Möglichkeit, das Excel-Makro so einzurichten, dass es immer zu diesem Blatt geht, anstatt es mit der Maus auswählen zu müssen, um den Startpunkt zu identifizieren?
Ich kann den Inhalt der Zellen bereitstellen, die durch Excel-Formeln ausgefüllt werden, die nicht in die TXT-Dateien aufgenommen werden sollen.Es ist ok, wenn es nicht möglich ist. Ich kann die zusätzlichen Zellen löschen, die nicht ausgefüllt sind (basierend auf dem Datenblatt).
Bitte lassen Sie mich wissen, wenn Sie weitere Informationen oder Erläuterungen benötigen und ich werde diese Ihnen gern zukommen lassen.
Antwort1
Hier ist also der Code, den ich verwende. Er ist so eingerichtet, dass er von jeder Seite aus ausgeführt werden kann (Sie müssen also nicht auf der Seite sein, legen Sie die Seite im Code fest).
Sub CreateFile_KML()
Dim shtKML As Worksheet
Set shtKML = ThisWorkbook.Sheets("KML")
i = 2
Do While Not IsEmpty(shtKML.Cells(i, 2))
MyFile = "Macintosh HD:Users:cherryredspyder:Desktop:Testting:" & shtKML.Cells(i, 1).Value
fnum = FreeFile
Open MyFile For Output As fnum
Print #fnum, shtKML.Cells(i, 2).Value
Close fnum
i = i + 1
Loop
End Sub
Die Dateilänge darf 32 Zeichen nicht überschreiten.