Supportnet / Forum / Tabellenkalkulation
excel per makro öffnen
Frage
hi!
ich würde gerne per makro ein excel dokument öffnen. mit --- ExcelSheet.Application.Workbooks.Open FileName:="absoluter_pfad_der_tabelle.xls"---- habe ich es schon geschafft. ich möchte aber keinen absoluten pfad angeben, sodass ich praktisch auf jedem rechner das makro ausführen kann. war das einigermaßen verständlich? wie muss das makro dann aussehen??? vielen dank und viele grüße,
tobse
Antwort 1 von coros
Hi tobse,
das wird aber nicht möglich sein, denn woher soll denn das Makro wissen, wo die Datei, die geöffnet werden soll. sich befindet. Die einzige Ausnahme, die mir im Moment einfällt, wäre wenn die Datei, die geöffnet werden soll, sich in dem selben Verzeichnis befindet wie die Datei, aus dem heraus das Makro gestartet wurde. Dann kann man das mit der Anweisung
durchführen. Bei der Anweisung wird der absolute Pfad durch den der aktiven Datei ersetzt, gefolgt von dem Dateinamen.
Ich hoffe, das hilft Dir eventuell weiter. Bei fragen melde Dich.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
das wird aber nicht möglich sein, denn woher soll denn das Makro wissen, wo die Datei, die geöffnet werden soll. sich befindet. Die einzige Ausnahme, die mir im Moment einfällt, wäre wenn die Datei, die geöffnet werden soll, sich in dem selben Verzeichnis befindet wie die Datei, aus dem heraus das Makro gestartet wurde. Dann kann man das mit der Anweisung
Workbooks.Open Filename:=ActiveWorkbook.Path & "\Hier den namen der Datei, die geöffnet werden soll.xls"
durchführen. Bei der Anweisung wird der absolute Pfad durch den der aktiven Datei ersetzt, gefolgt von dem Dateinamen.
Ich hoffe, das hilft Dir eventuell weiter. Bei fragen melde Dich.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von tobse
hi coros,
vielen dank für deine antwort. ich hab´s grad ausprobiert. Leider funktioniert es nicht so ganz... Excel wird zwar geöffnet, aber kein workbook - also nur das programm an sich.
Es erscheint die Fehlermeldung:
"Laufzeitfehler ´424´: Objekt erforderlich"
viele grüße,
tobse
vielen dank für deine antwort. ich hab´s grad ausprobiert. Leider funktioniert es nicht so ganz... Excel wird zwar geöffnet, aber kein workbook - also nur das programm an sich.
Es erscheint die Fehlermeldung:
"Laufzeitfehler ´424´: Objekt erforderlich"
viele grüße,
tobse
Antwort 3 von coros
Hi,
wie wär´s denn, damit wir hier nicht ganz im Trüben fischen, wenn Du mal hier posten würdest, wie Dein VBA Code im Moment aussieht. Denn ohne wird´s schwer, Dir zu helfen.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
wie wär´s denn, damit wir hier nicht ganz im Trüben fischen, wenn Du mal hier posten würdest, wie Dein VBA Code im Moment aussieht. Denn ohne wird´s schwer, Dir zu helfen.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von tobse
hi,
gute idee :-)
Sub test1()
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Application")
ExcelSheet.Application.Visible = True
ExcelSheet.Application.Workbooks.Open FileName:=ActiveWorkbook.Path & "\Hier den namen der Datei, die geöffnet werden soll.xls"
ExcelSheet.Application.Sheets("Tabellenblatt1").Select
vielen dank, gell...
tobse
gute idee :-)
Sub test1()
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Application")
ExcelSheet.Application.Visible = True
ExcelSheet.Application.Workbooks.Open FileName:=ActiveWorkbook.Path & "\Hier den namen der Datei, die geöffnet werden soll.xls"
ExcelSheet.Application.Sheets("Tabellenblatt1").Select
vielen dank, gell...
tobse
Antwort 5 von coros
Hi,
sorry, aber ich hau mich mal eben wech vor lachen. Du musst natürlich in der Zeile
ExcelSheet.Application.Workbooks.Open FileName:=ActiveWorkbook.Path & "\Hier den namen der Datei, die geöffnet werden soll.xls"
den Text
Hier den namen der Datei, die geöffnet werden soll.xls
gegen den Dateinamen, deren Datei Du öffnen möchtest, ersetzen. Vergess dabei nicht die Dateibezeichnung, also Punkt xls (.xls) mit nin zu schreiben.
Ich hoffe, dann funktionierts.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
sorry, aber ich hau mich mal eben wech vor lachen. Du musst natürlich in der Zeile
ExcelSheet.Application.Workbooks.Open FileName:=ActiveWorkbook.Path & "\Hier den namen der Datei, die geöffnet werden soll.xls"
den Text
Hier den namen der Datei, die geöffnet werden soll.xls
gegen den Dateinamen, deren Datei Du öffnen möchtest, ersetzen. Vergess dabei nicht die Dateibezeichnung, also Punkt xls (.xls) mit nin zu schreiben.
Ich hoffe, dann funktionierts.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 6 von tobse
hi,
okay, jetzt weiss ich für wie intelligent du mich hältst :-)))
ich habe den namen natürlich eingesetzt...
ich habe den code nur in"allgemeinform" gepostet. also mein code lautet so:
Sub test1()
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Application")
ExcelSheet.Application.Visible = True
ExcelSheet.Application.Workbooks.Open FileName:=ActiveWorkbook.Path & "\homepages.xls"
ExcelSheet.Application.Sheets("Blatt3").Select
aber nach wie vor kämpfe ich mit der Fehlermeldung:
"Laufzeitfehler ´424´: Objekt erforderlich"
viele grüße,
tobse
okay, jetzt weiss ich für wie intelligent du mich hältst :-)))
ich habe den namen natürlich eingesetzt...
ich habe den code nur in"allgemeinform" gepostet. also mein code lautet so:
Sub test1()
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Application")
ExcelSheet.Application.Visible = True
ExcelSheet.Application.Workbooks.Open FileName:=ActiveWorkbook.Path & "\homepages.xls"
ExcelSheet.Application.Sheets("Blatt3").Select
aber nach wie vor kämpfe ich mit der Fehlermeldung:
"Laufzeitfehler ´424´: Objekt erforderlich"
viele grüße,
tobse
Antwort 7 von coros
Hi tobse,
also ich habe nun mal Deinen Code bei mir gestestet und er läuft ohne Laufzeitfehler. Welche Zeile wird denn bei Dir angemeckert, also gelb hinterlegt, wenn Du in dem Fenster mit dem Laufzeitfehler auf den Button "Debuggen" klickst?
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
also ich habe nun mal Deinen Code bei mir gestestet und er läuft ohne Laufzeitfehler. Welche Zeile wird denn bei Dir angemeckert, also gelb hinterlegt, wenn Du in dem Fenster mit dem Laufzeitfehler auf den Button "Debuggen" klickst?
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 8 von tobse
hi coros
ohoh,
ich glaub ich hab da noch vergessen ´ne kleinigkeit zu erwähnen...
ich ruf das makro aus powerpoint auf... das scheint einen unterschied zu machen. sorry. habs grad aus excel aufgerufen. das hat funktioniert. aber aus pp kommt immernoch sie fehlermeldung. gemeckert wird bei der zeile mit "activeworkbook.path"
gruß,
tobse
ps: jetzt kannst du mich auslachen !!!
ohoh,
ich glaub ich hab da noch vergessen ´ne kleinigkeit zu erwähnen...
ich ruf das makro aus powerpoint auf... das scheint einen unterschied zu machen. sorry. habs grad aus excel aufgerufen. das hat funktioniert. aber aus pp kommt immernoch sie fehlermeldung. gemeckert wird bei der zeile mit "activeworkbook.path"
gruß,
tobse
ps: jetzt kannst du mich auslachen !!!
Antwort 9 von tobise
hi coros,
habe die antwort gefunden :-) hab bis gerade getestet und gesucht :-)
hier ist es:
Sub test1()
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Application")
ExcelSheet.Application.Visible = True
ExcelSheet.Application.Workbooks.Open FileName:=ActivePresentation.Path & "\homepages.xls"
ExcelSheet.Application.Sheets("Blatt3").Select
ziemlich easy...
...wenn man es weiss :-)
gruß und danke für deine hilfe,
tobse
habe die antwort gefunden :-) hab bis gerade getestet und gesucht :-)
hier ist es:
Sub test1()
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Application")
ExcelSheet.Application.Visible = True
ExcelSheet.Application.Workbooks.Open FileName:=ActivePresentation.Path & "\homepages.xls"
ExcelSheet.Application.Sheets("Blatt3").Select
ziemlich easy...
...wenn man es weiss :-)
gruß und danke für deine hilfe,
tobse