BarCode Makro

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: BarCode Makro

Re: BarCode Makro

von mamo » Mi, 06.02.2013 07:26

Karolus hat geschrieben:Hallo

Für ein Etikettendoc brauchst du eine Datenquelle , zum Beispiel ein Calcdokument mit entsprechenden Datensätzen.

Karolus

soso....hätte ich nu nicht vermutet! :)


aber wenn ich das gerne automatisiert machen möchte, mit nur einer Datei??

Re: BarCode Makro

von Karolus » Di, 05.02.2013 09:50

Hallo

Für ein Etikettendoc brauchst du eine Datenquelle , zum Beispiel ein Calcdokument mit entsprechenden Datensätzen.

Karolus

Re: BarCode Makro

von mamo » Di, 05.02.2013 09:36

ok...kann ich dann auch den Code individualisieren....z.B. 5 Buchstaben, danach lfd Nr. von der ich den Start bestimmen kann und danach das Datum..?

Re: BarCode Makro

von Karolus » Di, 05.02.2013 09:24

Hallo
Ich brauch jetzt auch keinen stundenlangen Frust + dutzende Rückfragen an dich um irgendeinen **** VBA-code zu übersetzen.

Wenn ich dein Beispiels-doc richtig interpretiere, sollte sich das alles (makrofrei) und relativ einfach in Form eines Serienbriefdokuments( Etiketten ) umsetzen lassen.

Karolus

Re: BarCode Makro

von mamo » Di, 05.02.2013 08:32

Naja...hatte gestern den Ganzen Tag versuch Zeile für Zeile zu übersetzten....führte nur zu Frust! ^^

Code: Alles auswählen

Sub Barcodes_erzeugen()
'
' Barcodes_erzeugen Makro
'
'

Dim i As Integer
Dim AnzahlProSeite As Integer
Dim Seitenzahl As Integer
Dim PENummer As Variant
Dim Datum As Date
Dim Zeichenkette As String
Dim Code As Variant
Dim oStartPENummer as Object
Dim oDocument as Object
Dim oText as Object
Dim oCursor as Object
Dim oVCursor as Object
Dim oVC as Object

Datum = Date
AnzahlProSeite = 64
Seitenzahl = 1
rem PENummer = Eingabewerte.StartPENummer.Value
PENummer = DlgEingabewerte.getControl("StartPENummer").Text
Datum = DlgEingabewerte.getControl("Druckdatum").Text
i = 1
j = 1
While j <= Seitenzahl
    While i <= AnzahlProSeite
    	
    	REM erste Zeile
    	
        'Zeichenkette = "XXXXX_" & Datum
        Zeichenkette = "XXXXX_" & PENummer & "_" & Datum
        Code = "L-" & PENummer & "-" & Datum
        
        oDocument = thisComponent
        oVC = oDocument.getCurrentController.getViewCursor
        oText = oVC.text

        oDocument.GetCurrentController.ViewCursor.CharFontName = "Bar-Code 39"
        oDocument.GetCurrentController.ViewCursor.CharHeight = "12"
        oDocument.GetCurrentController.ViewCursor.ParaAdjust = "center"
        oText.insertString(oVC, Code39(Code), false)
        oDocument.GetCurrentController.ViewCursor.CharFontName = "Arial"
        oText.insertString(oVC, " ", false)
        oDocument.GetCurrentController.ViewCursor.goDown(1, false)
        oDocument.GetCurrentController.ViewCursor.CharHeight = "9"
        oDocument.GetCurrentController.ViewCursor.ParaAdjust = "center"       
        oText.insertString(oVC, Code39(Code), false)
        
        
        rem oText = thisComponent.getText
        rem oCursor = oText.createTextCursorByRange(oText.getStart)
        
        rem oCursor.string = "blabla" 'Code39(Code)
        rem oDocument.GetCurrentController.ViewCursor.text = "blabls"
        
        
        rem Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
        rem Selection.TypeText Text:=Code39(Code)
        
        REM nächste Zeile
        rem Selection.Font.Name = "Arial"
        rem Selection.TypeText Text:=" "
        rem Selection.MoveDown Unit:=wdLine, Count:=1
        rem Selection.Font.Size = 9
        rem Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
        rem Selection.TypeText Text:=Zeichenkette



        PENummer = PENummer + 1
        i = i + 1
        j = j + 1
        If i > AnzahlProSeite Then
            Application.Quit
        Else
            Feldwechsel
        End If
    Wend
Wend
End Sub
Function Code39(ByVal yourData As String) As String

    Code39 = "*" & yourData & "*"

End Function
Function Feldwechsel()
REM If Selection.Information(wdWithInTable) = True Then
REM     Selection.MoveRight Unit:=wdCell, Count:=1, Extend:=wdMove
REM End If
End Function

Re: BarCode Makro

von juetho » Di, 05.02.2013 08:29

mamo hat geschrieben:leider bekomme ich es unter OO nicht zum Laufen. :|
Das ist nicht mein Thema, deshalb kann ich keinesfalls helfen. Aber wenn du Hilfe erwartest, solltest du auf jeden Fall mehr Informationen liefern: Was hast du versucht? Woran erkennst du, dass es "nicht zum Laufen" kommt? Falscher Barcode, Text statt Barcode, Basic-Fehlermeldung beim Kompilieren, Abbruch des Makros zur Laufzeit, Fehlermeldung dabei und Stelle im Code, an der der Fehler auftritt, Inhalte der Variablen an dieser Stelle (erwartet und tatsächlich)?

Das sind nur die Punkte, die mir auf die Schnelle einfallen. Anderen fallen sicherlich weitere Unklarheiten auf. Also bitte: Hilf uns, damit wir helfen können! Jürgen

PS. Ein "schönes" Makro könnte es nur dann sein, wenn es ausreichend kommentiert wäre

BarCode Makro

von mamo » Di, 05.02.2013 08:23

Ich habe ein schönes Makro gefunden, welches zwar unter MSO funktioniert, leider bekomme ich es unter OO nicht zum Laufen. :|

Könnt ihr da helfen??

Ihr benötigt die Schriftart: Code39

WIN 7
OO 3.41

Danke für Eure Hilfe.

Code: Alles auswählen

Sub Barcodes_erzeugen()
'
' Barcodes_erzeugen Makro
'
'

Dim i As Integer
Dim AnzahlProSeite As Integer
Dim Seitenzahl As Integer
Dim PENummer As Variant
Dim Datum As Date
Dim Zeichenkette As Variant
Dim Code As Variant
Datum = Date
AnzahlProSeite = 64
Seitenzahl = 1
PENummer = Eingabewerte.StartPENummer.Value
Datum = Eingabewerte.Druckdatum.Value
i = 1
j = 1
While j <= Seitenzahl
    While i <= AnzahlProSeite
        'Zeichenkette = "XXXXX_" & Datum
        Zeichenkette = "XXXXX_" & PENummer & "_" & Datum
        Code = "L-" & PENummer & "-" & Datum
        Selection.Font.Name = "Bar-Code 39"
        Selection.Font.Size = 12
        Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter
        Selection.TypeText Text:=Code39(Code)
        Selection.Font.Name = "Arial"
        Selection.TypeText Text:=" "
        Selection.MoveDown Unit:=wdLine, Count:=1
        Selection.Font.Size = 9
        Selection.ParagraphFormat.Alignment = wdAlignParagraphCenter

        Selection.TypeText Text:=Zeichenkette
        PENummer = PENummer + 1
        i = i + 1
        j = j + 1
        If i > AnzahlProSeite Then
            Application.Quit
        Else
            Feldwechsel
        End If
    Wend
Wend
End Sub
Function Code39(ByVal yourData As String) As String

    Code39 = "*" & yourData & "*"

End Function
Dateianhänge
XXXXX.docx
(17.24 KiB) 85-mal heruntergeladen
barcode.dot
(14.14 KiB) 91-mal heruntergeladen

Nach oben