Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

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
Top
#2
Lösung selbst gefunden:

Application.Workbooks.Open "C:\Verzeichnis\Test.xls"
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)
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.
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
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
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.
Top


Gehe zu:


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