Irgendwo hakt es. Ich habe noch mal das Skript mir vorgenommen und die verschiedenen Schritte einzeln ausführen lassen.
Es gibt ein Problempunkt bei der Abspeicherung des Dokuments und des Öffnens.
Wenn ich die Zeile
Code:
pm.Workbooks.Open foo
auskommentiere, dann funktioniert das Skript ohne Fehlermeldung, nur das pmd Dokument wird nicht gleich wieder als pmd-Datei geöffnet.
Verändere ich das Skript
Code:
Dim pm as Object
Set pm = CreateObject("PlanMaker.Application")
pm.Application.Visible = True
foo = pm.Application.ActiveWorkbook.FullName
pm.ActiveWorkbook.Save
pm.ActiveWorkbook.SaveAs "C:\Dokumente und Einstellungen\Peter\Eigene Dateien\shop\shopartikel.csv", pmFormatPlainTextAnsi
' hier die Änderung:
pm.ActiveWorkbook.Close smoSaveChanges
pm.Workbooks.Open foo
pm.ActiveWorkbook.Saved = True
indem ich es nochmalig mit dem Schließen speichern lasse, dann gibt mir Excel beim Öffnen dieser csv-Datei die Fehlermeldung : "Nicht genug Arbeitsspeicher" und öffnet die Datei auch gar nicht. PM öffnet sie zwar und diese heißt auch "shopartikel.csv", aber ich weiß nicht, ob das auch drin ist was drauf steht. Ich vermute mal, dass PM durch
Code:
pm.ActiveWorkbook.Close smoSaveChanges
die Datei als pmd abspeichert und deswegen Excel die Datei nicht öffnen kann.
Gibt es noch einen anderen Weg, die Datei als csv abzuspeichern, zu schließen und anschließend das pmd-Dokument wieder zu öffnen?