Externes Programm

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Externes Programm von: Johannes
Geschrieben am: 28.03.2005 21:30:20

Hallo Excelfreunde,

folgendes Problem: ich muss aus Excel heraus einen String an ein Barcodeprogramm senden und dann wieder den Barcode zurück nach Excel - das funktioniert auch soweit. Allerdings mit dem Pferdefuß, dass ich für jede dieser "Schleifen" das Barcodeprogramm starte, den String verarbeite und dann das Barcodeprogramm wieder schließe.

Es wär für die Performance weitaus besser wenn das Barcodeprogramm immer offen sein könnte und nur das aktive Programm wechseln könnte - den Hinweg habe ich geschafft, aber nachdem der String bearbeitet wurde komme ich aus mir nicht erklärbarem Grunde nicht zurück zu Excel - das Barcodeprogramm bleibt aktiv und erst ein manueller Maucclick auf Excel erweckt Excel aus seinen "Dornröschenschlaf". Nach allem was ich den Recherche gelesen habe und STFW komme ich nicht weiter - könnt jemand mir auf die Sprünge helfen?

Vielen Dank für Eure Mühe schon jetzt.

Gruß

Johannes

Bild


Betrifft: AW: Externes Programm von: UweD
Geschrieben am: 28.03.2005 23:30:20

Hallo Johannes

Ich nutze gelegendlich ein Barcodeprogramm von Will-Software.

Dort war folgendes Makro Beigefügt. Eigendlich gut verständlich..

Sub BarcodeDruck()
        
    StartZahl = Application.InputBox( _
        Prompt:="Geben Sie die Startzahl ein.", _
        Title:="Barcodedruck 2/5 Interleaved", Type:=1)
    
    If StartZahl = "Falsch" Then
        Exit Sub
    End If
    
    EndZahl = Application.InputBox( _
        Prompt:="Geben Sie die Endzahl ein.", _
        Title:="Barcodedruck 2/5 Interleaved", Type:=1)
        
    If EndZahl = "Falsch" Then
        Exit Sub
    End If
    
    'Das Barcode-Programm muß vor Ausführung des Makros gestartet werden.
    Channel = Application.DDEInitiate("Barcode", "Hauptdialog")
    Application.DDEExecute Channel, "MINI"
    Application.DDEExecute Channel, "2/5 Interleaved"
    
    For i = StartZahl To EndZahl
        [b2] = i
        Application.DDEPoke Channel, "Nutzziffer", [b2]
        Application.DDEExecute Channel, "BERECHNEN"
        [b1].Font.Name = Application.DDERequest(Channel, "Schriftart")
        [b1].Font.Size = Application.DDERequest(Channel, "Schriftgr")
        [b1] = Application.DDERequest(Channel, "Gesamtfolge")
'        Anwendung.TabellenblattListe(1).Ausdrucken Kopien:=1
    Next
    
    Application.DDETerminate Channel
End Sub


Vielleicht hilft es dir

Gruß Uwe


Bild


Betrifft: AW: Externes Programm von: Johannes
Geschrieben am: 29.03.2005 12:24:35

Hallo Uwe,

anbei die Datei: https://www.herber.de/bbs/user/20323.xls

mit dem Problem. Ich verwende einen Code von K.Rola um zu prüfen ob das Barcodeprogramm schon offen ist - funktioniert auch. Dann kommt die Verarbeitung der Daten im Barcodeprogramm. Wenn für jede der 80 Karten das Barcodeprogramm geöffnet werden und wieder geschlossen werden muss, leidet die Perfomance.
Vieleicht hast Du ja die zündende Idee, wie ich das Programm offenhalten kann und jeweils immer den Focus wechsele.

Gruß

Johannes


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Externes Programm"