Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
580to584
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
580to584
580to584
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA führt Druckbefehl falsch aus!

VBA führt Druckbefehl falsch aus!
08.03.2005 15:27:03
Johannis
Hey Leute!
Ich habe folgendes Problem! Ich habe ein Programm geschrieben, was mir Daten aus einer Tabelle liest, und sie dann in einer Anordnung als Etikett drucken soll! Nun habe ich das Programm fertig.
Wenn ich nun z.B. den Bereich A2:A3 markiere, dann soll er mir den Inhalt der beiden Zeilen auf ein Etikett drucken! Das Problem ist jetzt, das er mir auf beide Etiketten nur das Druckt was in Zelle A3 steht!
Wenn ich den Bereich A2:A10 markiere und den Befehl ausführe, dann druckt er mir 8 x das, was in Feld A10 steht aus!
Warum ist das so! Ich habe den Code angehängt, damit ihr mal nachschauen könnt! Danke schon im Vorraus
MfG Grevi
https://www.herber.de/bbs/user/19363.txt

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA führt Druckbefehl falsch aus!
08.03.2005 16:51:10
Volker
Hallo Grevi,
ich bin's wieder.
Im Schreiben in Txt-files bin ich zwar nicht so fit, aber das kriegen wir schon hin.
Zuerst mal ein Tip: wenn Dein Code nicht das macht, was Du willst, kannst Du ihn mit F8 einzeln abarbeiten. Durch klick auf den linken Rand kannst Du Haltepunkte setzen.
Wenn Du mit dem Cursor auf eien Variable gehst, wird ihr Wert angezeigt.
Hab mal ein bisschen rumprobiert und ein paar bugs gefunden:
Wenn Du innerhalb der Schleife dein file löscht, ist natürlich alles futsch, was bis zum next i drin gestanden hat und öffnen mußt Du es auch nur einmal.
also:
If Dir("D:\BARCODE.TXT") "" Then
Kill "D:\BARCODE.TXT"
End If
FileNum = FreeFile
Open "D:\BARCODE.TXT" For Output As #FileNum
gehören vor die Schleife.
Und schließen solltest Du das file natürlich erst nach der Schleife:
Next i
Close #FileNum ' close the file

End Sub
Hier noch mal das Ganze komplett:

Private Sub cmb_Starten_Click()
Dim InventurNr As String
Dim LogischerName As String
Dim IP_Adresse As String
Dim Speicher As String
Dim System As String
Dim iMax As Integer
Dim i As Integer
Dim FileNum As String
Dim Bereich As String
Dim Zeile As Integer
Dim Spalte As Integer
Zeile = ActiveCell.Row
MsgBox "Die 1 Zeile im markierten Bereich ist: " & Zeile
Bereich = Selection.Address(0, 0)
Worksheets!Tabelle2.Cells(1, 1) = Bereich
Range(Bereich).Activate     'ist überflüssig, da schon selectiert
i = CInt(Mid(Bereich, 2, 1))
iMax = CInt(Mid(Bereich, 5, 1))
If Dir("D:\BARCODE.TXT") <> "" Then
Kill "D:\BARCODE.TXT"
End If
FileNum = FreeFile
Open "D:\BARCODE.TXT" For Output As #FileNum
For i = i To iMax
InventurNr = Worksheets!Tabelle1.Cells(Zeile, 1).Value
LogischerName = Worksheets!Tabelle1.Cells(Zeile, 2).Value
IP_Adresse = Worksheets!Tabelle1.Cells(Zeile, 3).Value
System = Worksheets!Tabelle1.Cells(Zeile, 4).Value
Speicher = Worksheets!Tabelle1.Cells(Zeile, 5).Value
Print #FileNum, Chr(2) & "m" & Chr(10) ' & Chr(13)
Print #FileNum, Chr(2) & "S2" & Chr(10) ' Chr(13)
Print #FileNum, Chr(2) & "L" & Chr(10) ' Chr(13)
Print #FileNum, Chr(2) & "L" & Chr(10) ' Chr(13)
Print #FileNum, "PC" & Chr(10) '  Chr(13)
'-- Allgemeine Groesse
Print #FileNum, "D11" & Chr(10) ' Chr(13)
'-- Druck Intednsitaet Druckkopf Temperatur
Print #FileNum, "H20" & Chr(10) ' Chr(13)
'-- Offset rechter Rand
Print #FileNum, "C0000" & Chr(10) ' Chr(13)
'-- on every row
'-- Druck von links-unten
'-- Druck id  |yyyyxxxx
Print #FileNum, "161100002400025" & Trim(InventurNr) & Chr(10)  ' Chr(13)
Print #FileNum, "141100002700270" & Trim(LogischerName) & Chr(10) ' Chr(13)
Print #FileNum, "131100001700025" & "IP_Adresse: " & Trim(IP_Adresse) & Chr(10) ' Chr(13)
Print #FileNum, "131100001300025" & "Speicher:   " & Trim(Speicher) & Chr(10)   ' Chr(13)
Print #FileNum, "131100000900025" & "System:     " & Trim(System) & Chr(10) ' Chr(13)
Print #FileNum, "1a6208000180025" & InventurNr & LogischerName & Chr(13) & Chr(10) ' Chr(13)
Print #FileNum, Chr(2) & "E" & Chr(10) ' Chr(13)
Print #FileNum, Chr(13) & Chr(10) ' Chr(13)
'Close #FileNum ' close the file    'siehe unten
'Shell (Environ$("COMSPEC") & " /c " & "Copy c:\temp\barcode.txt \\k100\tmp\barcode")
'Shell (Environ$("COMSPEC") & " /c " & "rsh k100 -l tbnw -n lp -dbar1 /tmp/barcode/barcode.txt")
Zeile = Zeile + 1
Next i
Close #FileNum ' close the file
End Sub

Bin gespannt, ob's jetzt geht
Gruß
Volker
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige