Forum: PC-Programmierung Kommunikation: VBA <-> externes Prgramm


von Chriiiii (Gast)


Lesenswert?

Morgen,

ich habe eine prinzipielle Frage zu Visual Basic for Application.

Ich habe ein Programm welches VBA Scripte/Makros/Add-Ins unterstützt 
(Corel Draw). Wie kann ich jetzt mit einem beliebigen Zweitprogramm (in 
Java, C oder C++ ... geschrieben) mithilfe von VBA auf Corel "zugreifen" 
?


Corel <--> VBA <--> ???? <--> externes Programm



Ich hoffe das ist jetzt keine zu dämliche Frage. Ich scheitere halt 
immer an den "Umgebungsprobleme", die rudimentäre Programmierung ist 
letztendlich kein Problem.

Gruß
Christoph

von Peter (Gast)


Lesenswert?

Du könntest Programme mit Parameter aufrufen, z.B.

Shell("mode.com com1 baud=115200 parity=n data=8 stop=1 to=on xon=off 
dtr=off rts=off", vbHide)

Oder wie wäre es mit eine TCP/IP-Socketverbindung zwischen den 
Programmen? (Über eine Loopback IP-Adresse 127.0.0.1)

von Chriiiii (Gast)


Lesenswert?

Klingt gut, habe ich aber noch nie gemacht. Die Socketverbindung wäre 
sogar cool um das ganze System ortunabhängig zu gestalten. Das müsste 
ich aber erst einmal ausprobieren um herauszufinden was ich daran alles 
noch nicht verstehe ;-)

Aber einen direkten Weg gibt es nicht?

von Peter (Gast)


Lesenswert?

>Aber einen direkten Weg gibt es nicht?

Was verstehst Du unter direkt? Wenn Du von einer Applikation aus direkt 
auf den Speicherbereich einer anderen Applikation zugreifen möchtest: => 
Nein!

Kommunikation zwischen Applikationen über TCP oder eventuell auch UDP 
ist unter Windows fie Loopback-IP recht schnell und effizient (Sicher 
besser als über Dateien auf Disks)

von MarioT (Gast)


Angehängte Dateien:

Lesenswert?

Ich weiß nicht, ob Dir das hilft?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wenn Corel per VBA programmierbar ist, dann kann es auch mit Automation 
programmiert werden, Stichwörter sind hier ActiveX, (D)COM und COM+. 
Werden diese Schnittstellen genutzt, muss VBA gar nicht eingesetzt 
werden, denn das, was mit VBA gemacht wird, kann dann in ähnlicher Weise 
auch aus der anderen Programmiersprache heraus gesteuert werden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.