Registriert seit: 11.08.2014
Version(en): 2013
Hallo meine Lieben,
ich nerv nochmal. Wie öffne ich eine definierte Datei aus einem Add-In heraus.
Mein als Add-In vorliegenderCode:
Sub Add_in()
Workbooks.Open "C:\Verzeichnis\Test.xls"
End Sub
Doch es tut sich rein gar nichts wenn ich auf die von mir installierter Schaltfläche in meinem Excel
Programm drücke. Gleichgültig ob ich aus einer offenen Arbeitsmappe heraus starte oder nicht. P.S: Der Code müsste noch in soweit ergänzt werden, das eine eventuell aktive Arbeitsmappe geschlossen wird und die Datei Test.xls als Einzige in meinem Excel Programm offen ist, sobald ich den Add-In Schalter drücke.
Danke für Eure Hilfe
Registriert seit: 11.08.2014
Version(en): 2013
Lösung selbst gefunden:
Application.Workbooks.Open "C:\Verzeichnis\Test.xls"
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo sotaros,
bei mir öffnet Excel die Mappe aus einem AddIn auch ohne Application. davor. Wie sieht denn der code zu Deinem Button aus? War das AddIn beim Aufruf offen oder geschlossen?
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 11.08.2014
Version(en): 2013
Hallo André,
danke für deine Rückmeldung. Mein Code sieht so aus:
Sub Add_in()
Application.Workbooks.Open "C:\Verzeichnis\Test.xls"
End Sub
Dann habe ich die betreffende Excel-Datei als xla Datei abgespeichert und das Makro in ein neues Menüband mit den ganzen üblichen Prozeduren für die Add-in Aktivierung zugeordnet.
So funktionierts dann. Habe Excel 2010 64 bit. Mein Problem ist das ich viele Dateien mit langen Verzeichnisnamen auf dem Rechner habe die ich schnell öffnen und wieder schließen möchte.
Du könntest mir trotzdem noch einen Gefallen tun. Wie müsste der Code lauten, wenn ich in einer aktiven Anwendung drin bin, die dann bei dem Add-In Aufruf geschlossen werden soll. Hab's schon selber versucht aber nicht hinbekommen.
Muss leider auch noch viele andere Sachen machen, außer VBA lernen. Danke.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo sotaros,
normalerweise mit
AktiveWorkBook.Close
Als Optionen kannst Du noch true oder false dazuschreiben, je nachdem., ob sie gespeichert werden soll oder nicht.
Zuweilen ist es auch besser, das auszuschreiben mit
AktiveWorkBook.Close SaveChanges:=true (oder false).
Das sollte dann vor die Zeile mit dem Öffnen, ansonsten macht Excel die geöffnete gleich wieder zu - beim Öffnen einer Mappe wird selbige ja automatisch zur aktiven Mappe.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• sotaros
Registriert seit: 11.08.2014
Version(en): 2013
Hallo André,
genau das habe ich gemacht und das funktioniert natürlich auch. Das Problem ist aber dabei, wenn keine offene Arbeitsmappe vorhanden ist, kommt eine Fehlermeldung und die gewünschte
Datei wird über das Add-In auch nicht mehr geöffnet. Insofern müsste meine Frage besser lauten: Wie prüfe ich ob eine Arbeitsmappe offen ist.
Also:
If Eine offene Arbeitsmappe da Then
AktiveWorkBook.Close SaveChanges:=true
Application.Workbooks.Open "C:\Verzeichnis\Test.xls"
Else
Application.Workbooks.Open "C:\Verzeichnis\Test.xls"
End If
Registriert seit: 11.08.2014
Version(en): 2013
Hallo Andre,
Lösung ganz einfach statt:
AktiveWorkBook.Close SaveChanges:=true
Application.AktiveWorkBook.Close SaveChanges:=true
Dann funktioniert es bei meiner Version.
Aber trotzdem vielen Danke für Deine Hilfe.