Collapse column

Autor Thema: Office 2007: Dynamischer Pfad für Daten Export  (Gelesen 5031 mal)

Offline Rolf Grob

  • Newbie
  • *
  • Beiträge: 17
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2007
Office 2007: Dynamischer Pfad für Daten Export
« am: Dezember 27, 2013, 16:49:22 Nachmittag »
Hallo Zusammen,
Ich bin seit längerem an dem Problem dynamischer Dateipfade, nun habe ich eine Lösung erhalten für das laden von Bildern.
Leider verstehe ich nicht allzuviel von VBA Codes :-\

Workbook.Open (ThisWorkbook.Path & "\" & "Buchhaltung RG.xlsm")

        CommandButton1.Picture = LoadPicture(ThisWorkbook.Path & "\" & "Schaltflächen\AbbrechenV.jpg")

 ,dies hat auch funktioniert. ;D

Nun meine Frage: :o

Ich möchte gerne aus der Arbeitsmappe Diagramme als jpg Exportieren, und habe es mit der selben Lösung ausprobiert, aber ich erhalte immer
Fehlermeldungen, weshalb?
Und, kann mir da jemand Weiterhelfen.

Ich habe es so gemacht:
____________________________________________________________

Sub Schliessen()
Workbook.Close (ThisWorkbook.Path & "\" & "Buchhaltung RG.xlsm")
End Sub
__________________________________________________________

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Diag As Chart

    Set Diag = Tabelle2.ChartObjects(1).Chart
          Diag.Export Filename:="(ThisWorkbook.Path & "\" & "Diagramme\Balkendiagramm01.jpg")", FilterName:="JPG"
       
End Sub
_________________________________________________________________________________________________

Egal mit oder ohne Klammer beim Pfad, es gibt immer Fehlermeldungen die ich nicht verstehe. >:(

Beim Importieren von den Diagrammen funktioniert es doch !

Es währe sehr nett wenn mir jemand helfen könnte ;D

Lg Rolli

rolf_grob@bluewin.ch
« Letzte Änderung: Dezember 27, 2013, 17:02:37 Nachmittag von Rolf Grob »
Danke Rolli

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline maninweb

  • Global Moderator
  • Hero Member
  • *****
  • Beiträge: 1.063
    • Profil anzeigen
    • Excel Formula Translator
  • Office-KnowHow: Experte
  • VBA-KnowHow- : Sehr gut
  • Version [Office] : Office 2016
Antw: Office 2007: Dynamischer Pfad für Daten Export
« Antwort #1 am: Dezember 27, 2013, 17:56:48 Nachmittag »
Hallo Rolf,

der Code zum Exportieren der Grafik kann auch in der Prozedur zum Schließen abgelegt werden. Somit nicht notwendig, dies im Ereignis
Before_Close zu implementieren. Insofern kannst Du für Dein Vorhaben das Ereignis entfernen.
Code: Visual Basic
  1. Sub Schliessen()
  2.  
  3.   Dim Diag As Chart
  4.  
  5.   Set Diag = Tabelle2.ChartObjects(1).Chart
  6.  
  7.   Diag.Export Filename:=ThisWorkbook.Path & "\" & "Diagramme\Balkendiagramm01.jpg", FilterName:="JPG"
  8.  
  9.   ThisWorkbook.Close
  10.  
  11. End Sub
Du hast die Fehlermeldungen erhalten, weil dieser nicht zulässige Variablennamen, fehlerhafte Argumente und eine Mischung aus
statischen Texten und Variablen enthalten ist.

So erwartet die Prozedur Close an erster Stelle eine Angabe, ob gespeichert werden soll oder nicht. Diese Angabe ist ein Boolean,
der die Werte False oder True einnehmen kann. Ein Text, den Du übergeben hast, geht dann nicht. Falls Du vor hattest, die Mappe
unter einem anderen Namen zu speichern, musst Du das zweite Argument verwenden. Tipp: den Cursor auf Close setzen und F1
drücken, in Excel 2010 geht direkt die passende VBA-Hilfeseite auf, die die Argumente erläutert.

Workbook kannst Du zudem nicht als Variablenname verwenden, denn Workbook ist durch Excel als Objekt reserviert. Somit ginge
ThisWorkbook.Close oder Workbooks("DeineMappe.xlsm).Close. Variablen sollten deklariert werden (das Dim am Anfang). Das macht
es Excel bei der Interpretation etwas leichter.

Beim Argument Filename:= hattest Du einen statischen Text mit einer variablen Angabe vermischt. Für statische Texte kannst Du die
Anführungszeichen verwenden; bzw. sobald diese vorhanden sind, ist der Text innerhalb der " statisch, also keine Variable mehr.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) from 01/2011 - 06/2019
https://de.excel-translator.de :: Online Excel-Formel-Übersetzer :: Alle Übersetzungen der Excel Funktionen & Fehlerwerte

Offline Rolf Grob

  • Newbie
  • *
  • Beiträge: 17
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2007
Antw: Office 2007: Dynamischer Pfad für Daten Export
« Antwort #2 am: Dezember 27, 2013, 19:39:07 Nachmittag »
Hallo Mainweb,
Zuerst einmal Danke für deine letzte Hilfe sie hat funktioniert.

Leider Exportiert mir mein VBA die Datei nicht wenn ich deinen Code verwende, ABER....

Ich habe herausgefunden dass der Code den ich zuerst hatte eigentlich funktioniert, leider jedoch nicht auf meine Art.
Wenn ich den Code,

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim Diag As Chart
    Set Diag = Tabelle2.ChartObjects(1).Chart
          Diag.Export Filename:=ThisWorkbook.Path & "\" & "Diagramme\Balkendiagramm01.jpg", FilterName:="JPG"
       
End Sub

verwende, und die Arbeitsmappe NORMAL schliesse, funktioniert es.
Wenn ich die Arbeitsmappe aber über einen CommandButton in der Userform schliesse GEHT ES NICHT !!!!!!!

Weshalb das ????????????

Der Code zum Schliessen ist in der UserForm lautet:

Private Sub CommandButton1_Click()

ActiveWorkbook.Save
Application.Quit

End Sub

Danke für weitere Hilfe

Rolf
Danke Rolli

Offline mumpel

  • Spezialist für RibbonX-Programmierung
  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 195
    • Profil anzeigen
    • Microsoft-Office-Add-Ins
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw: Office 2007: Dynamischer Pfad für Daten Export
« Antwort #3 am: Dezember 27, 2013, 21:20:08 Nachmittag »
Hallo!
 
Die Userform befindet sich in der zu schließenden Datei? Schließe erst die Userform bevor Du die Datei schließt. Und "Application.Quit" beendet Excel komplett. Die Userform wird mit Unload Me geschlossen/beendet.
 
Gruß, René

Offline Rolf Grob

  • Newbie
  • *
  • Beiträge: 17
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2007
Antw: Office 2007: Dynamischer Pfad für Daten Export
« Antwort #4 am: Dezember 27, 2013, 21:55:55 Nachmittag »
Hallo Rene,

Ich möchte die Arbeitsmappe zusammen mit der UserForm schliessen, dass ist Absicht.
Jedoch weiss ich nicht wo der Unterschied zwischen dem normalen schliessen der Arbeitsmappe und dem schliessen duch den Befehl in der UserForm liegt.

Weshalb funktioniert der Export beim einen Schliessen, und beim anderen nicht ?

Rolf
Danke Rolli

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline mumpel

  • Spezialist für RibbonX-Programmierung
  • Global Moderator
  • Full Member
  • *****
  • Beiträge: 195
    • Profil anzeigen
    • Microsoft-Office-Add-Ins
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Gut
  • Version [Office] : Office 2016
Antw: Office 2007: Dynamischer Pfad für Daten Export
« Antwort #5 am: Dezember 27, 2013, 22:06:45 Nachmittag »
[...] Weshalb funktioniert der Export beim einen Schliessen, und beim anderen nicht [...]
Weil Du Excel beendest und nicht die Userform.
 
Für die Userform:
 
Code: Visual Basic
  1. Private Sub CommandButton1_Click()
  2. Unload Me
  3. Application.CommandBars.ExecuteMso "FileClose"
  4. End Sub

Für das Schließen der Arbeitsmappe:
 
Code: Visual Basic
  1. Private Sub Workbook_BeforeClose(Cancel As Boolean)
  2. ThisWorkbook.Save
  3. Dim Diag As Chart
  4.     Set Diag = Tabelle2.ChartObjects(1).Chart
  5.         Diag.Export Filename:=ThisWorkbook.Path & "\" & "Diagramme\Balkendiagramm01.jpg", FilterName:="JPG"
  6.        
  7. End Sub
  8.  

Offline Rolf Grob

  • Newbie
  • *
  • Beiträge: 17
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2007
Office 2007: Antw: Office 2007: Dynamischer Pfad für Daten Export
« Antwort #6 am: Dezember 28, 2013, 01:03:56 Vormittag »
Hallo Meinweb, Rene, Mumpel,

Herzlichen Dank für eure Hilfe.

1. Habe ich wieder einiges über VBA Codes gelehrnt   :D

2. Hat nun alles super geklappt.

und 3. sind nun meine Feiertage gerettet  ;D ;D ;D

Ich wünsche euch und allen anderen einen guten Start ins neue Jahr.

Gruss Rolf
Danke Rolli

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.