Pointerman Geschrieben 5. April 2004 Geschrieben 5. April 2004 Moin! Ich habe in VBA ein Makro geschrieben und möcht dieses mit einem Button in der Symbolleiste aufrufen. Leider funktioniert der Spaß nur einmal. Beim Zweiten Aufruf bekomme ich eine Fehlermeldung, dass die Datei Convert.cvs (die wird im Makro gespeichert) nicht gefunden werden kann. Hier erstmal der Code: Sub Konvertieren() Dim WBName As String Const sVerzeichnis = "E:\test\" WBName = ActiveWorkbook.FullName ActiveWorkbook.Save Application.DisplayAlerts = False Sheets("datentransfer").SaveAs Filename:=sVerzeichnis & "Convert.csv", FileFormat:=xlCSV Application.DisplayAlerts = True Workbooks.Open WBName Shell (sVerzeichnis & "convert.exe") ThisWorkbook.Close SaveChanges:=False End Sub[/PHP] Nun zum Sinn des ganzen: Das aktive Exceldokument wird gespeichert. Dann wird es als CSV-Datei gespeichert. Jetzt ist die CSV-Datei aktiv, also die Originaldatei wieder öffnen. Jetzt wird eine Exe-DAtei aufgerufen, die die CSV-DAtei verarbeitet. Zum Schluss noch die CSV-DAtei schließen, so daß nur noch das Originaldokument offen ist. Dummerweise tritt jetzt bei jedem weiteren Aufruf durch den Button der oben beschriebene Fehler auf. Irgendwelche Ideen?
robotto7831a Geschrieben 5. April 2004 Geschrieben 5. April 2004 Warum sagt er denn, dass er die Datei nicht finden kann. Die Datei wird doch nur gespeichert. Frank
Pointerman Geschrieben 6. April 2004 Autor Geschrieben 6. April 2004 Warum sagt er denn, dass er die Datei nicht finden kann. Die Datei wird doch nur gespeichert. Naja, das war ja genau was ich wissen wollte!
robotto7831a Geschrieben 6. April 2004 Geschrieben 6. April 2004 Wann kommt denn der Fehler? Bei ActiveWorkbook.Save oder bei Sheets("datentransfer").SaveAs Filename:=sVerzeichnis & "Convert.csv", FileFormat:=xlCSV? Frank
Pointerman Geschrieben 7. April 2004 Autor Geschrieben 7. April 2004 Moin! Beim SaveAs. Sehe ich da etwa Licht am Horizont? Kennst Du das Problem? Ach ja, was ich ganz vergessen hatte: Wenn der Fehler erstmal kommt und ich nochmal auf "Makro zuweisen" gehe, dann ist auch die Convert.csv als Ausführungsort des Makros eingetragen (damit meine ich Convert.csv!Konvertieren).
robotto7831a Geschrieben 7. April 2004 Geschrieben 7. April 2004 Hm. Ich habe das Codestück von Dir gerade mal ausprobiert. Das läuft wunderbar. Frank
Pointerman Geschrieben 8. April 2004 Autor Geschrieben 8. April 2004 Moin Frank! Es funktioniert ja auch wunderbar! Erst wenn man das Makro mit einem Button ausführt gibt es Fehler(Da auch erst ab dem 2. Mal). Er scheint beim speichern in der CSV-Datei den Speicherort, der im Button angegeben ist von der XLS auf die CSV umzusetzten. Ich hab da in einer MSDN-Newsgroup die Lösung bekommen: Einfach den Ort des Makros im Schalter ändern (CommandBars.ActionControl.OnAction = WBName & "!Konvertieren"). Damit kann man das Makro auch wiederholt mit dem Button aufrufen. Danke trotzdem!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden