Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel-Datei aus einem Add-In heraus öffnen
#1
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
Antworten Top
#2
Lösung selbst gefunden:

Application.Workbooks.Open "C:\Verzeichnis\Test.xls"
Antworten Top
#3
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)
Antworten Top
#4
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.
Antworten Top
#5
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:
  • sotaros
Antworten Top
#6
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
Antworten Top
#7
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.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste