QR-Code
#16
Zint war ein guter Tip!

Mit der Zint Komanndozeile und ein paar Zeilen VBA-Code kann man sogar schnell QRCodes einfügen, ohne Zint manuell zu starten.

Bei mir (winXP/CorelDrawX4) funktioniert es so:

Code:
Sub zintQR()
    Dim Text As String
    Dim ZintPfad As String
    Dim ECCLevel As String * 1
    Dim Skalierung As String
    Dim Befehl As String
    Dim ExitCode As Long
        
    ZintPfad = "C:\Programme\Zint\" 'der Pfad zu zind.exe
    
    ECCLevel = 2 '1 = Level L, 2 = Level M, 3 = Level Q, 4 = Level  H
    
    Skalierung = "4.5"
    
    If ActiveDocument.Selection.Shapes.Count = 0 Then
        MsgBox "nichts ausgewählt!", vbExclamation
        Exit Sub
    End If
    If ActiveDocument.Selection.Shapes(1).Type = cdrTextShape Then
        Text = ActiveDocument.Selection.Shapes(1).Text.Story 'Text des selektierten Objekts
        Text = Trim(Text)
        If Text <> "" Then
            Text = Replace(Text, Chr(34), "\" & Chr(34)) 'Zollzeichen maskieren
            Text = Chr(34) & Text & Chr(34)
            Text = Replace(Text, Chr(13), "\n") ' Zeilenumbrüche ersetzen
            Text = Replace(Text, Chr(11), "\n") ' Zeilenumbrüche ersetzen
            Befehl = ZintPfad & "zint -o " & Chr(34) & ZintPfad _
            & "temp.eps" & Chr(34) & " --binary -b 58 --secure=" & ECCLevel _
            & " --scale=" & Skalierung _
            & " -d " & Text
            Debug.Print Befehl
            warte Befehl 'Ausführen und warten bis Zint fertig ist
            If DateiVorhanden(ZintPfad & "temp.eps") Then
                epsImport ZintPfad & "temp.eps" 'Importieren
                Kill ZintPfad & "temp.eps" 'temporäre Datei löschen
            Else
                MsgBox "Codierungsfehler", vbExclamation
                Exit Sub
            End If
            Else
            MsgBox "Keinen Text gefunden", vbExclamation
        End If
        Else
        MsgBox "Keinen Text gefunden", vbExclamation
    End If
End Sub

Sub warte(ByVal strPath As String)
    Dim WshShell As Object
    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run strPath, 7, 1
    Set WshShell = Nothing
End Sub

Function DateiVorhanden(Datei As String) As Boolean
    Dim FS As Object
    Set FS = CreateObject("Scripting.FileSystemObject")
    DateiVorhanden = FS.FileExists(Datei)
    Set FS = Nothing
End Function

Sub epsImport(Datei As String)
    Dim PosX As Double, PosY As Double
    Dim x As Double, y1 As Double, y2 As Double
    PosX = ActiveDocument.Selection.Shapes(1).PositionX
    PosY = ActiveDocument.Selection.Shapes(1).PositionY
    ActiveShape.GetSize x, y1
    Dim impopt As StructImportOptions
    Set impopt = CreateStructImportOptions
    impopt.MaintainLayers = True
    Dim impflt As ImportFilter
    Set impflt = ActiveLayer.ImportEx(Datei, cdrPSInterpreted, impopt)
    impflt.Finish
    ActiveShape.GetSize x, y2
    ActiveShape.Move PosX, PosY - y1 - y2 - 0.1
End Sub

Grafiktext auswählen und das Macro starten.

nochmals Danke für den Tip!
Zitieren



Nachrichten in diesem Thema
QR-Code - von norre - 29.05.2012, 15:07
QR-Code - von Suc - 29.05.2012, 20:36
QR-Code - von norre - 29.05.2012, 20:42
QR-Code - von RaceRay - 04.07.2012, 09:18
QR-Code - von Ettenna - 04.07.2012, 10:28
QR-Code - von norre - 04.07.2012, 12:30
QR-Code - von Ettenna - 04.07.2012, 15:46
QR-Code - von Nachtviole - 04.07.2012, 19:05
QR-Code - von RaceRay - 16.07.2012, 12:13
QR-Code - von Hartmut - 16.07.2012, 20:14
QR-Code - von Nachtviole - 18.07.2012, 02:51
QR-Code - von norre - 18.07.2012, 08:43
QR-Code - von Hartmut - 18.07.2012, 17:48
QR-Code - von norre - 18.07.2012, 18:59
QR-Code - von Ettenna - 19.07.2012, 14:41
QR-Code - von koter - 29.07.2012, 22:48

Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  QR Code Generator suai112 3 458 05.01.2025, 08:08
Letzter Beitrag: Litschi
  EAN 13 Code und Zeilenabstände peterjaeckel 18 2.567 19.06.2024, 16:27
Letzter Beitrag: koter
  v2017: QR-Code nicht via Seriendruck erzeugbar, oder? mtemp 7 3.104 02.08.2017, 01:28
Letzter Beitrag: mtemp
  Funktion des Andockfenster "Kurven verbinden" für VBA Code Sfassbender 1 1.582 10.06.2016, 22:17
Letzter Beitrag: koter
  G-code zwilling 4 2.230 04.02.2016, 21:48
Letzter Beitrag: zwilling
  Seriendruck Visitenkarten inkl. QR-Code / CorelDRAW X5 fanders 3 2.532 15.07.2015, 07:08
Letzter Beitrag: norre
  QR Code erzeugen TottiSB 18 4.269 24.10.2014, 09:27
Letzter Beitrag: TottiSB