Mai 17, 2021, 15:01:26

Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!


Excel-Datei durch VBA Code in Access erzeugen

Begonnen von Mahi, Februar 18, 2021, 12:58:18

⏪ vorheriges - nächstes ⏩

Mahi

Hallo ihr lieben,

kann Vlt jemand mir helfen, wie man eine Excel-Datei in Access durch VBA Code erzeugen kann?

Es muss ein Button erstellt werden, wenn man auf den anklickt, springt man in Excel und auf dem Excel-Blatt dann soll die Ergebnisse einer Abfrage angezeigt werden.


VG
Mahi

ebs17

ZitatEs muss ein Button erstellt werden
Scheiterst Du schon daran?

Zitatwie man eine Excel-Datei in Access durch VBA Code erzeugen kann?
Genau so wie aus anderen Programmen, Access ist nichts Besonderes.

1) Eine offene Excelinstanz finden oder eine eigene öffnen, also Excel an sich erst mal greifbar machen

2) Diese Instanz macht man bei Bedarf sichtbar, wenn man auch etwas sehen will

3) Jede Instanz hat eine Workbooks-Auflistung, das sind die (möglichen) Arbeitsmappen darin

4) Darin wendet man ein Add an, also eine neue hinzufügen

Das wäre es schon (außer Inhalte geben, unter einem Namen speichern usw.).
Näheres findest Du unter dem Stichwort Automatisation und selbstverständlich im Objektkatalog von Excel.

Mit freundlichem Glück Auf!

Eberhard

Mahi

sorry ich konnte leider nicht verstehen, wie du das genau meinst  :-[

andyfau

Februar 18, 2021, 17:22:47 #3 Letzte Bearbeitung: Februar 18, 2021, 19:02:54 von andyfau Grund: Ergänzung , wenn es VBA sin soll....
Hallo,

wenn es nicht unbedingt VBA sein muss, bietet Excel dafür entsprechende Bordmittel:

- Erstelle in Access deine Auswahlabfrage, die die Daten ermittelt, die Du später in Excel haben möchtest.
- Dann erstelle über "Externe Daten" den Export nach Excel dieser Abfrage und speichere diesen Export. Vergebe dabei einen entsprechenden Namen.
- Über den Reiter "Erstellen", "Makro" aufrufen.
- Im Makroeditor unter "Entwurf" "Alle Makroaktionen anzeigen" auswählen. (Es erscheinen dann ein paar Aktonen mehr, die durch ein gelbes Achtungzeichen gekennzeichnet sind.)
- Folgende Makroaktionen eintragen:
      - ÖffnenAbfrage (Abfragename: Deine Abfrage, Ansicht:Datenblatt, Datenmodus bearbeiten)
      - AusführenGespeicherImportExport (hier den Namen des gespeicherten Exports mitgeben)
      - AusführenAnwendung  (Befehlszeile: excecl.exe "Pfad_wo_die_Datei_hin_soll\Datei.xlsx"
      - Makro speichern (Name merken)

Zu Beginn und am Ende des Makros kannst Du die Warnmeldungen aus und wieder einschalten (wieder einschalten nicht vergessen!). Dann werden die Accessmeldungen unterdrückt und alles läuft in einem Rutsch durch. Würde ich aber erst am Schluss machen, weil die Meldungen beim Erstellen und Testen des Makros eher hilfreich sind.

Das so erstellte Makro rufst Du dann über einen Button in einem Formular auf. Auch hier hilft Dir ein Steuerelemente-Assistent.
- Formular im Entwurfsmodus öffnen
- Über Menue "Entwurf" das Steuerelement "Button" auswählen und im Formular platzieren.
  Im Reiter "Entwurf" muss vorher ggf. noch der Assistent aktiviert werden!
- Der Assistent schlägt dann Kategorien für Aktionen vor: "Diverse" wählen, dann "Makro ausführen".
  Der Assistent zeigt dann die verfügbaren Makros an. Dein Makro auswählen und fertigstellen drücken.

Nun sollte sich sich beim Druck auf den Button Excel mit den abgefragten Daten öffnen.

Würde mich freun, wenn es Dir hilft.
Beste Grüße
Andreas
P.S.
Wenn es VBA sein soll:
geht der Export einer Tabelle auch über
     
     DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, Tabellenname, Application.CurrentProject.Path & "\" & Tabellenname & ".xls", True
und dann über den Shell-befehl Excel öffnen.