title image


Smiley Re: Acces führt Makro in Excel aus
Hi Josua,



beginnen wir mal mit Excel:



öffne deine Exceldatei heute.xls. Dann wechselst du in den Visual Basic-Editor (entweder mit ALT + F11 oder über Extras -> Makro -> Visual Basic-Editor). Dort siehst du links den Projekt-Explorer (wenn nicht öffnen über STRG + R oder Ansicht -> Projekt Explorer). Im Projekt Explorer siehst du deine Exceldatei (VBAProject(heute.xls)) mit dem Microsoft Excel Projekt -> DeineArbeitsmappe. Auf DeineArbeitsmappe machst du einen Doppelklick. Es öffnet sich rechts ein leeres Modul. Über dem Modul sind zwei Rollups. Das linke über den Pfeil öffnen (Allgemein). Darin findest du den Eintrag Workbook. Diesen auswählen. Das rechte Rollup (Deklaration) wechselt automatisch auf open und im Modul steht:



Private Sub Workbook_Open()



End Sub



Da dazwischen muss der Code. Das sieht dann so aus:



Private Sub Workbook_Open() 'Autostart deiner Exceldatei

Application.Run "heute!morgen" 'startet das Makro: morgen

ThisWorkbook.Save 'speichert deine Exceldatei

Application.Quit 'beendet Excel

End Sub



Das ist dann für Excel alles. Immer wenn die Exceldatei geöffnet wird, startet das Makro. Solltest du mal in die Datei müssen, ohne das dabei der Autostart ausgeführt wird, halte beim öffnen der Datei die SHIFT-Taste gedrückt (funktioniert auch in Access).



Nun zu Access (ich erklär es dir mit Hilfe eines Makros):



erstelle zuerst ein neues Modul. Darin muss nun die Funktion, die ich dir gegeben habe. Das sieht dann so aus:



Function oeffnenExcelTab()

Dim kanal 'legt eine Variable kanal an

kanal = startanw("excel","system") 'übergibt der Variable das zu öffnende Prog.

DDEExecute kanal, "[öffnen(""C:\heute.xls"")]" 'die zu öffnende Exceldatei

End Function



Das wars, du kannst das Modul speichern (Name egal).



Danach erstellst du ein Makro und wählst in der Spalte Aktion den Befehl AusführenCode aus. Unten bei Funktionsname gibst du oeffnenExcelTab() ein. Makro speichern (z.B. M_Excelstart)



erstelle nun in Access ein neues Formular in der Entwurfsansicht. Für den Button musst du die Toolbox-Leiste einblenden. Darin findest du das Button-Objekt (Befehlsschaltfläche). Damit erstellst du einen Button in deinem Formular. Sollte dabei der Assistent starten, einfach abbrechen. Klicke nun mit der rechten Maustaste auf den Button und wähle die Eigenschaften. Im dritten Reiter der Eigenschaften (Ereignis) findest du das Ereignis Beim Klicken. Wenn du in die weiße Zeile klickst, erscheinen dahinter drei Punkte. Diese anklicken und Code-Generator wählen. Du gelangst nun in ein Modul das folgenden Inhalt hat (je nachdem welchen Namen - nicht die Buttonbeschriftung - dein Button hat):



Private Sub Befehl1_Click()



End Sub



Dazwischen muss nun noch der Makroaufruf:



Private Sub Befehl1_Click()

DoCmd.RunMacro "M_Excelstart"

End Sub



Formular speichern. Nun sollte es gehen. Formular öffnen, Button anklicken.



Ich hoffe das war ausfühlich genug :o))



Gruß aus Ulm



Alex
evtl. Schreibfehler sind gewollt. Ein Hoch auf die künstlerische Freiheit!

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: