Hallo,
ich versuche gerade aus BCB 5 ein Makro in mS Word 2003 über OLE aufzurufen.
Die Methode die ich erstellt habe lautet:
void __fastcall TDLG_Main::
DoMakro( Variant &vOLEWord, AnsiString iFileName, AnsiString iMakroName )
{
vOLEWord.OlePropertyGet( "Documents" ).Exec( Procedure( "Open" ) << iFileName );
vOLEWord.Exec( Procedure( "Run" ) << iMakroName );
}
Den Code habe ich mit Hilfe der Themen in diesem Forum und dem Objektkatalog aus Word erstellt. Die Variable vOLEWord habe ich auch korrekt gesetzt und das Öffnen eines Dokuments funktioniert auch. Nur leider erhalte ich beim Aufruf des Makros, das auch wirklich existiert, die Fehlermeldung "Der angegebene Makro kann nicht ausgerführt werden."
Mein Makro "Normal.Module.Makros.Felder_Aktualisieren" existiert und lässt sich in Word direkt auch ausführen.
Welche Gründe gibt es, das mein Makro nicht ausgeführt wird?
ich versuche gerade aus BCB 5 ein Makro in mS Word 2003 über OLE aufzurufen.
Die Methode die ich erstellt habe lautet:
void __fastcall TDLG_Main::
DoMakro( Variant &vOLEWord, AnsiString iFileName, AnsiString iMakroName )
{
vOLEWord.OlePropertyGet( "Documents" ).Exec( Procedure( "Open" ) << iFileName );
vOLEWord.Exec( Procedure( "Run" ) << iMakroName );
}
Den Code habe ich mit Hilfe der Themen in diesem Forum und dem Objektkatalog aus Word erstellt. Die Variable vOLEWord habe ich auch korrekt gesetzt und das Öffnen eines Dokuments funktioniert auch. Nur leider erhalte ich beim Aufruf des Makros, das auch wirklich existiert, die Fehlermeldung "Der angegebene Makro kann nicht ausgerführt werden."
Mein Makro "Normal.Module.Makros.Felder_Aktualisieren" existiert und lässt sich in Word direkt auch ausführen.
Welche Gründe gibt es, das mein Makro nicht ausgeführt wird?
Comment