Autor
|
Thema: Makro soll beim Speichern bestehende Dateien überschreiben (25431 mal gelesen)
|
Steffen_B Mitglied
Beiträge: 14 Registriert: 27.02.2006
|
erstellt am: 14. Apr. 2006 14:10 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe ein Excel-Makro geschrieben, dass Textdateien ausliest und in Excel-Dateinen konvertiert. Es funktioniert auch wunderbar, nur habe ich ein Problem! Wenn ich das Makro laufen lasse und die Datei schon existiert, dann taucht eine Abfrage auf, ob ich die bestehende Datei überschreiben möchte. Gibt es ein Möglichkeit, dies zu unterdrücken also auf "Teufel komm raus" zu überspeichern? mfg Steffen Das Makro lautet bisher: Sub Auslesen_Textdatei() Pfad = "C:\Dokumente und Einstellungen\Steffen\Desktop\" ChDir Pfad & "Tool\Eingabe" Workbooks.OpenText Filename:=Pfad & "Schweisszangentool\Eingabe\ErgebnisFile_X-Schweisszange_mit_Rundprofil.txt" _ , Origin:=xlMSDOS, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _ xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _ Comma:=False, Space:=False, Other:=True, OtherChar:="/", FieldInfo:= _ Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7 _ , 1), Array(8, 1)), TrailingMinusNumbers:=True ChDir Pfad & "Tool\Ausgabe" ActiveWorkbook.SaveAs Filename:=Pfad & "Schweisszangentool\Ausgabe\ErgebnisFile_X-Schweisszange_mit_Rundprofil.xls" _ , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False ActiveWindow.Close End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 14. Apr. 2006 16:33 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen_B
|
Steffen_B Mitglied
Beiträge: 14 Registriert: 27.02.2006
|
erstellt am: 14. Apr. 2006 16:49 <-- editieren / zitieren --> Unities abgeben:
Supi - funktioniert! Schicke mal die Einheiten los! Vielleicht kannst du mir auch bei einem anderen Problem helfen?!? Ist zwar ein anderer Bereich, aber vielleicht gehts ja: Ich versuche von CATIA V5 auf das Excel-Makro zuzugreifen. Wie spreche ich das Makro an?!? Es gibt ja auch die Möglichkeit, dass Makro als Auto_Open zu deklarieren, aber auch das funktioniert nicht, obwohl CATIA die Datei öffnet! Danke nochmal mfg Steffen Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 14. Apr. 2006 23:38 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen_B
|
Nepumuk Mitglied Entwicklungsleiter
Beiträge: 351 Registriert: 16.10.2004
|
erstellt am: 15. Apr. 2006 13:31 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen_B
Hallo Steffen, die "Automakros" stammen noch aus grauen Excel95 Zeiten und sollten nicht mehr benutzt werden. Die werden beim öffnen einer Mappe durch eine andere Anwendung nicht gestartet sondern müssen über die RunAutoMacros-Methode erst angestoßen werden. Dazu müsstest du aber Zugriff auf das Applicationobjekt bekommen. Benutze statt dessen die Ereignisroutinen von Excel. Rechtsklick auf das Excelicon neben Datei - Code anzeigen. Damit kommst du in das Klassenmodul der Mappe. In der linken Combobox über dem Codefenster wählst du "Workbook" aus. Es wird automatisch die Workbook_Open-Routine generiert (in der rechten Combobox findest du alle anderen Ereignisroutinen der Mappe). Aus dieser Routine startest du dein Makro. ------------------ Gruß Nepumuk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Steffen_B Mitglied
Beiträge: 14 Registriert: 27.02.2006
|
erstellt am: 15. Apr. 2006 19:01 <-- editieren / zitieren --> Unities abgeben:
Danke für die Hilfe - werde das wohl umsetzen, wenn es nicht mehr Standard ist. Allerdings habe ich es auch hinbekommen, das Makro anzusprechen (von CATIA V5). Das sieht dann so aus: '# Anlegen eines Objektes. Dim Excel As Object '# Initialisieren des Objektes als Excel-Anwendung. Set Excel = CreateObject("Excel.Application") '# Excel taucht in der Windows-Leiste auf (Aber im Hintergrund) Excel.Visible = True '# Das Objekt EXCEL muß angesprochen werden, um den Pfad zuzuweisen. Excel.Workbooks.Open SetzePfad & "Schweisszangentool\Eingabe\Excel-Makro_AUTOMATISCH - Konvertierung der Text-Dateien in Excel-Dateien.xls" '# Tabelle1 aktivieren. Excel.Sheets(1).Activate '# Tabelle1 selektieren. Excel.Sheets("Tabelle1").Select '# Den Pfad an die Excel-Tabelle uebergeben. Excel.Cells(1, 1) = SetzePfad Excel.Cells(1,2) = 1 '# Dies war der Knackpunkt ****** '# Ausfuehren des Excel-Makros. Excel.Application.Run "'Excel-Makro_AUTOMATISCH - Konvertierung der Text-Dateien in Excel-Dateien.xls'!Auto_Open" '# Excel-Datei sichern, damit der letzte Zugriff dokumentiert wird. Excel.ActiveWorkbook.Save '# Excel schließen. Excel.Quit Schönes Restosterfest mfg Steffen
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| |
Nepumuk Mitglied Entwicklungsleiter
Beiträge: 351 Registriert: 16.10.2004
|
erstellt am: 15. Apr. 2006 19:21 <-- editieren / zitieren --> Unities abgeben: Nur für Steffen_B
Hallo Steffen, ich kenne das Programm nicht, aber gut zu wissen, das es mit VB als Grundlage arbeitet. Das macht Antworten auf Fragen dazu viel einfacher. Also, danke für die Info. Auch dir frohe Ostern ------------------ Gruß Nepumuk Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|