Excel Objekt

  • Hallo,

    ich benötige etwas Hilfe mit dem Umgang von dem Excel.Application Objekt.

    Einfache Sachen zbsp.: Excel Öffnen, schließen, speichern und Dinge ein und auslesen aus Zellen hab ich ja soweit begriffen.

    Doch nun steh ich vor einen Problem. Ich möchte eine VBA Funktion aufrufen und Variablen innerhalb eines Skriptes die auch als Objekt deklariert wurden aufrufen.

    Die Möglichkeit einer Tastenbelegung für einen VBA (Makro) Skript ist mir bekannt doch ich wollte dies vermeiden.

    Um einen tieferen einblick in meine Lage zu vermitteln versuche ich einmal einige Eckdaten zu nennen. (nur für die dies Interessiert ^^):

    Ich möchte zwei Messgeräte (einen Messtellenumschalter und ein Digigtalmultimeter) an meinen PC anschließen und beide darüber steuern. Der Messstellenumschalter kommuniziert über eine RS-232 Schnittstelle ... dieser Anschluss ist (auch dank euerer Hilfe^^) voll Funktionstüchtig. Das Digitalmultimeter empfängt uns sendet seine Befehle jedoch nur über einen USB Anschluss. -> Da ich nicht weiß wie ich von Autoit direkt auf den USB-Controller zugreifen kann habe ich mir vom Hersteller eine Demo geben lassen. Dieser VBA-Skript befindet sich in einer Excel Datei. Durch Studieren des Quelltextes hab ich einigermaßen begriffen wie man Befehle hin und her senden kann. Außerdem ist mir noch aufgefallen das alle befehle von einem Objekt ausgehen das es scheinbar nur in(oder für Excel)gibt... jeglicher Versuch ein Objekt mit dem gleichen Namen in uatoit zu generieren schlug fehl... Deshalb möchte ich den VBA-Skript automatisch (im Hintergrund) durch autoit öffnen lassen oder direkt auf das Objekt was in einer Variable des VBA-Code generiert ist zugreifen.

    Ich hatte bei einigen Versuchen das Gefühl das man mit dem Excel.Application Objekt auch nur ganz bestimmte Befehle durchführen kann. Über eine Auflistung der möglichen Optionen wäre ich auch sehr Dankbar.


    Vielen Dank für alle Hilfe im Vorraus

    Einmal editiert, zuletzt von xslip (6. August 2009 um 15:47)

  • Hi,


    vielleicht hilft Dir das weiter:


    [autoit]

    Dim $objXL
    $objXL = ObjCreate("Excel.Application")
    With $objXL.Application
    .Visible = True
    ;Open the Workbook
    .Workbooks.Open ("C:\Test.xls")
    $x = .Run("Test") ; MacroName, Parameters1, Parameter2, ...
    EndWith

    [/autoit]


    ;)

    Stefan

  • Vielen Dank

    In den UDF´s hab ich leider noch nicht´s passendes finden können doch den Befehl mit .Run werd ich mal versuchen (hat zwar beim ersten Versuch noch nicht geklappt [aber das wär ja auch zu schön gewesen ^^ ])

    Falls jemand noch genauere Infos über das Excel .Run... hat wär ganz hilfreich

  • Hi,

    der Befehl Run führt ausschliesslich def. Makros aus. Gffs. musst ein Makro machen, das Deinen VBA Code ausführt.


    ;-))

    Stefan