Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
OMR Steuerzeichen auf Word 2010 Dokumenten
zurück: Exceltabelle in Word einfügen weiter: Fehlermeldung in Word beim Öffnen von Vorlagen z.B. Fußzeile Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
MuhQ
Gast


Verfasst am:
20. März 2013, 11:11
Rufname:

OMR Steuerzeichen auf Word 2010 Dokumenten - OMR Steuerzeichen auf Word 2010 Dokumenten

Nach oben
       Version: Office 2010

Hallo liebe Community,

ich bin auf der Suche nach einer Lösung zur Realisierung von OMR Steuerzeichen (für unsere Kuvertiermaschine) auf Word 2010 Dokumente.

Grob habe ich mir gedacht, dass der Benutzer ganz normal seine Dokumente schreiben kann und beim Drucken die OMR Steuerzeichen hinzugefügt werden.
Da ich kein Word Profi bin bräuchte ich hier mal euren Rat in welcher Richtung ich recherchieren/beschäftigen müsste. Bisher wurde ich via Google nicht fündig.

Wie lässt sich so etwas am besten realisieren? Makro VBA Programmierung oder über ein Add-In? Hat hier jemand schon so etwas realisiert und könnte sein Source-Code veröffentlichen? : )

Für diejenigen die gerade nicht mit OMR anfangen können (Siehe Anhang)
Das sind die kleinen Striche an der Seite, die das Gerät einliest und erkennt was in den Umschlag kommt!

Falls relevant:
Wir benutzen hier eine Neopost DS-80 Kuvertiermaschine mit 6 Steuerzeichen
  1. Startzeichen
  2. Sammelzeichen
  3. 1. Binäre Blattsequenznummer
  4. 2. Binäre Blattsequenznummer
  5. Paritätskontrollzeichen
  6. Endzeichen
Ich bin für jeden eurer Tipps dankbar Idea

Gruß,
MuhQ
MarkMH_K
z.Z. gaanz unregelmäßig online


Verfasst am:
20. März 2013, 11:31
Rufname: Markus
Wohnort: Köln rrh


AW: OMR Steuerzeichen auf Word 2010 Dokumenten - AW: OMR Steuerzeichen auf Word 2010 Dokumenten

Nach oben
       Version: Office 2010

Hi,

die abgebildeten Striche kriegst Du mit einfachen Absätzen mit Rahmenlinie oben und Positionsrahmen in der Kopfzeile hin (siehe hier (unsichtbare Falzmarke für Sichtfenster im Briefumschlag.)).
Bei diesen Formatvorlagen mußt Du die Schrift auf 1pt setzen, damit die ¶ schön klein sind, und ein wenig mit dem Rahmenlinienformat spielen, damit die Balken auch schön dick sind.
Wenn du die Absatzmarken in Wenn-Felder setzst, kannst du steuern, ob sie exklusiv auf letzten Seite erscheinen (oder bei Serienbriefen auch auf der ersten, da Du dann das Abschnittslayout nicht verändern mußt).
Wenn Du Serienbriefe machst, leitest Du den Druck in ein Dokument um (die Steuerzeichen sind dann für jeden Brief gleich) und manipulierst nur den ersten und den letzten Brief. Da Word die Briefe in jeweils eigene Abschnitte "druckt", arbeitest Du dann mit {SectionPages}-Feldern.

HTH.

Markus
MuhQ
Gast


Verfasst am:
20. März 2013, 13:37
Rufname:

AW: OMR Steuerzeichen auf Word 2010 Dokumenten - AW: OMR Steuerzeichen auf Word 2010 Dokumenten

Nach oben
       Version: Office 2010

MuhQ am 20. März 2013 um 11:34 hat folgendes geschrieben:
Danke für die schnelle Antwort.

Kann man auch mit Makros Linien zeichnen, so wie diese unter Einfügen -> Formen -> Linie zur Verfügung stehen?

Die lassen sich auch außerhalb der definierten Seitenränder platzieren. Desweiteren besitzen diese die Eigenschaft auch mit absoluten Abgaben zu positionieren, die Länge und Dicke zu definieren. Nur kann man diese auch aus den Makros her erzeugen? Bei Google habe ich bisher noch nichts zu gefunden.

Die OMR Zeichen müssen leider an bestimmten Positionen und Abständen zueinander gezeichnet werden, ansonsten werden diese nicht erkannt. Außerdem müssen diese am Linken Rand platziert sein und nicht im Kopfbereich. Mit den Linien scheint mir das im ersten Blick der einfachste Weg zu sein.

In Pseudo-Code würde ich mir das so ungefähr vorstellen:
Code:
main()
{
   durchlaufe_alle_seiten
   {
      parität = 0
      zeichne_start_und_endzeichen()          ' Muss auf jede Seite gedruckt werden
      
      Ist es NICHT die erste Seite?
      {
         zeichne_sammelzeichen()
         parität += 1
      }
      
      aktuelle_seite_binaer=binaerwert_aus(aktuelle_seite)
      Ist erstes Bit aus aktuelle_seite_binaer = 1
      {
         zeichne_blattsequenzzeichen_2()
         parität += 1
      }
      Ist zweites Bit aus aktuelle_seite_binaer = 1
      {
         zeichne_blattsequenzzeichen_1()
         parität +=1
      }
      
      Ist Parität eine ungerade Zahl?
      {
         zeichne_paritaetszeichen()
      }
   }
}

Beispiel_eines_Zeichenprozesses()
{
   linie_an_pos(x,y)   'Absolute Angabe in mm o. cm auf Seite)
   linie_dicke=size   'Am besten in cm,mm oder Zoll
   linie_laenge=x
}

Aktueller Stand:
Ich habe nun dank des Forums raus gefunden, dass ich via canvas Linien erzeugen kann. Nur verstehe ich gerade nicht, warum diese nur auf der ersten Seite angelegt wird.
Vllt. hat hier jemand einen kleinen Tipp für mich
Code:
Sub OMR()
    Dim rng As Range
    Dim iPage As Integer
    Dim shpCanvas As Shape
    Dim shpLine As Shape
   
Debug.Print ActiveDocument.Range.Information(wdNumberOfPagesInDocument)
    For iPage = ActiveDocument.Range.Information(wdNumberOfPagesInDocument) To 1 Step -1
        ActiveDocument.GoTo what:=wdGoToPage, Count:=iPage
    Debug.Print iPage
    Debug.Print ActiveDocument.Application.ActiveWindow
        '1 Pt = 0,353 mm <-> 1 mm = 2,833 Pt
        'Add new drawing canvas to the active document
        Set shpCanvas = ActiveDocument.Shapes.AddCanvas(Left:=0, Top:=0 _
                                                      , Width:=150, Height:=200)
        'Add a line to the drawing canvas
        Set shpLine = shpCanvas.CanvasItems.AddLine(BeginX:=25, BeginY:=25 _
                                                  , EndX:=150, EndY:=150)
    Next iPage
End Sub
MarkMH_K
z.Z. gaanz unregelmäßig online


Verfasst am:
20. März 2013, 14:52
Rufname: Markus
Wohnort: Köln rrh

AW: OMR Steuerzeichen auf Word 2010 Dokumenten - AW: OMR Steuerzeichen auf Word 2010 Dokumenten

Nach oben
       Version: Office 2010

Hi,

warum mit Makros, wenn es doch mit Formatvorlagen geht, wenn doch in meinem Post auch ssteht, wie man die Striche auch in bestehende Dokumente bekommt? Aber egal.

Weil ich nie mit Zeichnungen per VBA arbeite, ist mir der Befehl AddCanvas fremd. In meiner Antik-Hilfe steht, daß der einen Zeichnungsbereich und kein Zeichnungselement einfügt.

Und zwar bei Deinem Makro in den Haupttext. Der Trick bei den Formatvorlagen ist dagegen, die Kopfzeile zu nutzen (ActiveDocument.Sections(1).Headers(...). In die fügt man nur ein Element ein, Word druckt es dann automatisch auf alle Seiten.

Im übrigen kannst Du ja 'mal bei SmartTools gucken. Die haben irgendwie einen Falzmarken-Assistenten. Vielleicht ist bei dem schon das codiert, was Du brauchst.

HTH.

Markus
-------------------------
P.S.: Zu Deinem Problem noch: Bei mir funktioniert ActiveDocument.Range.Information(wdNumberOfPagesInDocument) auch beim ungespeicherten Dokument, also sollte die Schleife sauber laufen. Dann dürfte es halt so sein, daß irgendwie immer der selbe Zeichnungsbereich angesprochen wird, denn laut Hilfe wird der Zeichnungsbereich zur Shapes-Collection zugefügt.
Wie gesagt: mit diesen komischen Zeichnungsbereichen (auch denen, die ohne VBA erzeugt wurden) arbeite ich nicht. Den nötigen Abstand, den der Zeichnungsbereich unter der Zeichnung herstellt, erzeuge ich lieber mit Positionsrahmen oder randlosen Tabellen. Ist abwärtskompatibel, sauberer und störungsfrei.
MuhQ
Gast


Verfasst am:
20. März 2013, 17:04
Rufname:


AW: OMR Steuerzeichen auf Word 2010 Dokumenten - AW: OMR Steuerzeichen auf Word 2010 Dokumenten

Nach oben
       Version: Office 2010

Hi,

wie gesagt ich kenne mich nicht mit VBA Programmierung in Office aus. Selbst VBA an sich ist mir eigentlich fremd. Normalerweise bin ich in Python 3 und C++ zuhause ;)

Ich brauchte schnell eine Lösung und Makros sah mir hier passend aus mal eben so etwas aufs Blatt zu bekommen. Normalerweise drucken wir auch nicht aus Office zum Kunden sondern aus unserem ERP System. Der dahintergeschaltete Printserver mit einer Applikation für das Document Layouting übernimmt normalerweise auch das OMR. Wir stellen bald aber um und keiner wusste wie bei uns die Steuercodes genau konfiguriert worden sind. Nun kann ich es mit Word testen : )
Code:
Sub OMR()
'Information
'1 mm = 2,835 Pt
    Dim iPage As Integer
    Dim parity As Integer
    Dim parity_result As Integer
    Dim shpCanvas As Shape
    Dim shpLine As Shape
    Dim xStart As Double
    Dim xEnd As Double
   
    xStart = 19.845
    xEnd = 41.8446
    'Select each page
    For iPage = 1 To ActiveDocument.Range.Information(wdNumberOfPagesInDocument) Step 1
        Selection.GoTo wdGoToPage, wdGoToAbsolute, iPage
        parity = 0
        parity_result = 0
        'Add new drawing canvas to the active document
        Set shpCanvas = ActiveDocument.Shapes.AddCanvas(Left:=0, Top:=0 _
                                                      , Width:=43.20325 _
                                                      , Height:=139.52525)
        parity = parity + 1
        'Add OMR-Code: start
        Set shpLine = shpCanvas.CanvasItems.AddLine(BeginX:=xStart _
                                                  , BeginY:=70.875 _
                                                  , EndX:=xEnd, EndY:=70.875)
        shpLine.Line.ForeColor = Black
        shpLine.Line.Weight = 1.25
        parity = parity + 1
        'Add OMR-Code: end
        Set shpLine = shpCanvas.CanvasItems.AddLine(BeginX:=xStart _
                                                  , BeginY:=130.83525 _
                                                  , EndX:=xEnd _
                                                  , EndY:=130.83525)
        shpLine.Line.ForeColor = Black
        shpLine.Line.Weight = 1.25
        parity = parity + 1
        'Add OMR-Code: collect
        If iPage > 1 Then
            Set shpLine = shpCanvas.CanvasItems.AddLine(BeginX:=xStart _
                                                      , BeginY:=82.86705 _
                                                      , EndX:=xEnd _
                                                      , EndY:=82.86705)
            shpLine.Line.ForeColor = Black
            shpLine.Line.Weight = 1.25
            parity = parity + 1
        End If
        'Add OMR-Code: binary pagesequenz 1
        If ((iPage And (2 ^ 1)) <> 0) Then
            Set shpLine = shpCanvas.CanvasItems.AddLine(BeginX:=xStart _
                                                      , BeginY:=94.71735 _
                                                      , EndX:=xEnd _
                                                      , EndY:=94.71735)
            shpLine.Line.ForeColor = Black
            shpLine.Line.Weight = 1.25
            parity = parity + 1
        End If
        'Add OMR-Code: binary pagesequenz 2
        If ((iPage And (2 ^ 0)) <> 0) Then
            Set shpLine = shpCanvas.CanvasItems.AddLine(BeginX:=xStart _
                                                      , BeginY:=106.7094 _
                                                      , EndX:=xEnd _
                                                      , EndY:=106.7094)
            shpLine.Line.ForeColor = Black
            shpLine.Line.Weight = 1.25
            parity = parity + 1
        End If
        'Add OMR-Code: parity
        parity_result = parity - (2 * (parity \ 2))
        If parity_result = 0 Then
            Debug.Print "I was here"
            Set shpLine = shpCanvas.CanvasItems.AddLine(BeginX:=xStart _
                                                      , BeginY:=118.8432 _
                                                      , EndX:=xEnd _
                                                      , EndY:=118.8432)
            shpLine.Line.ForeColor = Black
            shpLine.Line.Weight = 1.25
            Debug.Print "And here..."
        End If
    Next iPage
End Sub
Dein Vorschlag über die Formatvorlage schaue ich mir definitiv auch an. Wenn ich das auch mal gemacht habe poste ich das Ergebnis Smile

Nochmals Danke!
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Word Serienbriefe: Word 2010: Leerzeilen unterdrücken (zb kein Firmenname) 2 LAMF 343 28. Nov 2013, 15:40
Gast Word 2010: Leerzeilen unterdrücken (zb kein Firmenname)
Keine neuen Beiträge Word Serienbriefe: Formular sperren im Word 2010 1 Brand68 1833 25. Nov 2013, 22:28
seven.one Formular sperren im Word 2010
Keine neuen Beiträge Word Serienbriefe: Sereinbrief Word 2010 mit 3 Bedingungen in der Anrede 2 jpeters 1673 01. Nov 2013, 13:12
MarkMH_K Sereinbrief Word 2010 mit 3 Bedingungen in der Anrede
Keine neuen Beiträge Word Serienbriefe: Word 2010: Fill-in und Datumsformat 1 Alter_Mann69 325 15. Okt 2013, 12:27
Flipper7 Word 2010: Fill-in und Datumsformat
Keine neuen Beiträge Word Serienbriefe: Serienbrief mit Word / Excel 2010: Word hängt 1 Schlammspringer 210 15. Okt 2013, 11:18
Gast623 Serienbrief mit Word / Excel 2010: Word hängt
Keine neuen Beiträge Word Serienbriefe: Bug in Word 2010/Outlook 2010: Absturz bei Serienmails 2 Sabine698 640 28. März 2013, 21:09
Sabine698 Bug in Word 2010/Outlook 2010: Absturz bei Serienmails
Keine neuen Beiträge Word Serienbriefe: Word 2010: Seriendruck vs. Feldfunktion vs. Hyperlink 0 DIDO666 843 01. Aug 2012, 15:44
DIDO666 Word 2010: Seriendruck vs. Feldfunktion vs. Hyperlink
Keine neuen Beiträge Word Serienbriefe: Datensätze auf einer Seite; Serienbrief Word 2010 1 Gast 1128 06. Mai 2012, 11:38
MarkMH_K Datensätze auf einer Seite; Serienbrief Word 2010
Keine neuen Beiträge Word Serienbriefe: Serienmail mit dynamischen Hyperlinks (Word 2010) 0 Gutti 2237 08. März 2011, 22:43
Gutti Serienmail mit dynamischen Hyperlinks (Word 2010)
Keine neuen Beiträge Word Formate: Wie neues Word 2010 von gesicherter normal.dot starten? 2 Gast 33491 27. Jan 2011, 23:06
donald91 Wie neues Word 2010 von gesicherter normal.dot starten?
Keine neuen Beiträge Word Serienbriefe: Preisschilder drucken Word 2010 6 Smiling 5317 15. Jan 2011, 11:15
Smiling Preisschilder drucken Word 2010
Keine neuen Beiträge Word Formate: Autom.Zeilenabstand in 2010 abstellen 1 Mexx1111 2456 09. Jan 2011, 13:59
G.O.Tuhls Autom.Zeilenabstand in 2010 abstellen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel-Formeln