Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Aus VB ein Marco (Funktion) starten

Empfohlene Antworten

Veröffentlicht

Hallo,

ich benutze VB6 und habe eine Marco geschreiben das ich aus meinem VB-Programm in ein Excelfile hinein Importiert habe. Nun muss ich es nur noch starten können. Einer eine Idee?

Beispiel wäre Super.

THX

Hilfe, nichts so viele Informationen auf einmal ;)

Also, wie hast du es exportiert? Hast du ein Modul exportiert (.bas) und dann in Excel importiert (sprich VBA unter Excel)?

Dann kannst du es durch ein einfaches

Call FUNKTIONSNAME

an beliebiger Stelle aufrufen. Ggf. natürlich mit den Übergabewerten, sofern benötigt.

Also ich habe ein file.bas in einem Windows-Ordner.

Ein Vb kein VBA Programm (standalone). Das mir Excel startet eine bestimmtes Excelfile einliest.

Danach schiebe ich dem Excelfile das File 'file.bas' zu.

Soweit tuts.

Nun möchte ich das ich aus meiner VB.exe das File 'file.bas' (eine Funktion daraus) starten (natürlich auch mit Parametern wenn möglich).

...

Set ExcelObjekt = CreateObject("Excel.Application")

ExcelObjekt.Visible = False

ExcelObjekt.Workbooks.Open Excelfile

ExcelObjekt.VBE.ActiveVBProject.VBComponents.Import Macrofile

hier soll jetzt file.bas gestartet werden

....

sorry ich hoffe es ist jetzt verständlicher. :floet:

Du kannst kein Modul starten. Du kannst es entweder in deine vorhandene Exe-Datei einbinden (sofern du natürlich den Quellcode hast) oder eine weitere Datei kompilieren (exe,dll...) die dein Modul beinhaltet.

Diese exe könntest du sogar beim Start Parameter übergeben, z.B. den Pfad deiner Excel-Datei... aber eine *.bas Datei starten und den Code ausführen lassen geht nicht.

Habe es nun doch hin bekommen. Bevor hier noch Gerüchte auftauchen, dass das nicht geht.

ExcelObjekt.Run "Funktionsname"

Ist einfacher als ich dachte ;)

:marine

Ich habe eine vb-externe.exe und eine externe.bas und ich importiere mit der vb-externe.exe das externe.bas in ein excelfile das ich vorher geladen habe (ExcelObjekt)

'Excelfile öffnen

ExcelObjekt.Workbooks.Open "Excelfilepath"

'Import des Marcos

ExcelObjekt.VBE.ActiveVBProject.VBComponents.Import "Macrofilepath\externe.bas"

'Ausführen einer Funktion in der externe.bas

ExcelObjekt.Run "Funktionsname"

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.