Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1540to1544
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
Inhaltsverzeichnis

VBA Verweis auf Brother Label-Drucker b-PAC

VBA Verweis auf Brother Label-Drucker b-PAC
13.02.2017 10:45:33
Flo
Hallo zusammen,
ich hab mal wieder ein kleines Problem :)
Ich habe gerade ein Projekt am Laufen, bei dem ich von einer übergeordneten Stelle eine Excel Datei (Master-Datei) zur Verfügung gestellt bekomme.
Diese Datei kann im Aufbau und Struktur nicht verändert werden weil sie überregional von mehreren Abteilungen bearbeitet werden muss.
Selbst das ein und ausblenden von Spalten ist nur umständlich möglich.
Jetzt hatte ich die Idee ein Add-In zu erstellen, bei dem ich die Funktionen der starren Liste etwas erweitern kann.
Hab auch schon einige Punkte gelöst aber bei einem bleib ich gerade hängen.
Ich möchte aus der Liste heraus einen Brother P-Touch Drucker ansteuern und ein Etikett drucken.
Hab dazu auf der Brother Seite ein b-PAC Entwicklertool gefunden und auch gleich eines der VBA-Beispiele auf meine Bedürfnisse angepasst.
Hat auch im Test alles super funktioniert, nur wenn ich das Makro dann als Ribbon einbinde und meine Master-Datei dann öffne und das Makro ausführe kommt ein Debugg-Fehler - Verweis nicht gefunden. Nachdem ich die Brother b-PAC 3.0 Typ Library dann ausgewählt habe funktioniert es.
Wenn ich die Datei schließe und wieder öffne hat er den Verweis wieder verloren.
Kann ich das irgendwie lösen oder muss der Verweis in der Master-Liste hinterlegt werden?
Hier der Code:
'-----------------------------------------------------------------------------------------
' b-PAC 3.0 Component Sample
' (C)Copyright Brother Industries, Ltd. 2009
'-----------------------------------------------------------------------------------------
Option Explicit
Const sPath = "C:\Users\***\Sample.lbx"
Private Sub Aufkleber(control As IRibbonControl)
Dim bRet As Boolean
Dim ObjDoc As bpac.Document
Set ObjDoc = CreateObject("bpac.Document")
'Open lbx file
bRet = ObjDoc.Open(sPath)
If (bRet  False) Then
' Determine how many rows the user selected
Dim iTotal As Integer
iTotal = Selection.Rows.Count
' Start Print-Setting
ObjDoc.StartPrint "", bpoDefault
Dim r As Integer
For r = 1 To iTotal
Dim Str As String
Dim iRow As Integer
' E
iRow = Selection.Cells(r, 1).Row
Str = Cells(iRow, 4).Text
ObjDoc.GetObject("E").Text = Str
' M
Str = Cells(iRow, 2).Text
ObjDoc.GetObject("M").Text = Str
' Register to print
ObjDoc.PrintOut 1, bpoDefault
Next
' Finish Print-Setting.iStart the printing.j
ObjDoc.EndPrint
' Close lbx file
ObjDoc.Close
End If
End Sub

Vielen Dank für eure Hilfe.
Gruß Flo

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Verweis auf Brother Label-Drucker b-PAC
13.02.2017 12:14:54
onur
Hi,
Vielleicht solltest du die library in dein AddIn einbinden.
AW: VBA Verweis auf Brother Label-Drucker b-PAC
17.02.2017 16:50:20
Flo
Hallo Onur,
wie kann ich die library den direkt in das AddIn einbinden.
Gruß Flo
AW: VBA Verweis auf Brother Label-Drucker b-PAC
17.02.2017 16:55:41
onur
Hi Flo,
Gegenfrage : "Nachdem ich die Brother b-PAC 3.0 Typ Library dann ausgewählt habe" - wie und wo machst du das denn?
Gruß
Onur
AW: VBA Verweis auf Brother Label-Drucker b-PAC
17.02.2017 17:34:28
Flo
Über VBA - Extras - Verweise...
Hier steht dann die "Brother b-PAC 3.0 Typ Library" zur Auswahl
AW: VBA Verweis auf Brother Label-Drucker b-PAC
17.02.2017 17:43:42
onur
Hi,
z.B. so:
Sub TestFile()
AddReferenceFromFile "C:\Program Files (x86)\Windows Media Components\Encoder\wmenc.exe"  '  _
_
Windows Media Encoder"
End Sub
Den genauen Pfad siehst du beim einbinden der Library unten im Fenster.
Anzeige
AW: VBA Verweis auf Brother Label-Drucker b-PAC
17.02.2017 18:27:31
Flo
Hi,
wenn ich das so teste:
Sub TestFile()
AddReferenceFromFile "C:\Program Files (x86)\Common Files\Brother\b-PAC\bpac.dll\1"  ' _
_
Brother b-PAC Library""
End Sub
Kommt ein Fehler beim Kompilieren Sub oder Function nicht definiert
AW: VBA Verweis auf Brother Label-Drucker b-PAC
17.02.2017 18:52:48
onur
Hi,
Kannst du datei+die dll posten?
AW: VBA Verweis auf Brother Label-Drucker b-PAC
13.02.2017 12:21:49
fcs
Hallo Flo,
der Verweis auf die Drucker-Objekt-Bibliothek muss in der Datei mit dem Makro gesetzt und gespeichert werden.
Ich hab aber noch keine Erfahrungen mit AddIns in dieser Richtung.
Wenn die Drucker-Objekt-Bibliothek korrekt registriert ist. Sollte der Fall sein, wenn du im VBA-Editor unter VBA-Extras den Verweis setzen kannst, dann versuche mal die Variablen-Deklaration zu ändern.
In diesem Fall benötigst du den Verweis auf die Bibliothek nicht und Excel/VBA sucht sich die erforderlichen Informationen für das Objekt erst bei der Ausführung des Markros zusammen.
    Dim ObjDoc As Object 'bpac.Document

Vorher musst du aber das Makro mal im Schrittmodus starten bzw. einen Haltpunkt setzen.
Dann musst du die Werte der bpac-spezifischen Konstanten (z.B. bpoDefault) ermitteln (einfach mit der Maus drüber hoovern, wenn das Makro die Ausführung unterbricht.
Anschließend musst du dann im Code die entsprechenden Variablen durch die ermittelten Werte ersetzen.
Toi-toi-toi bei der Umsetzung
LG
Franz
Anzeige
AW: VBA Verweis auf Brother Label-Drucker b-PAC
17.02.2017 16:48:37
Flo
Hallo Franz,
danke für deine Antwort. Ich bin leider erst jetzt wieder dabei das Problem zu lösen.
Leider kenne ich mich mit VBA noch nicht soooo gut aus.
Könntest du mir evtl. erkläre womit ich das
Dim ObjDoc As Object 'bpac.Document
austauschen soll.
Vielen Dank!
Gruß Flo
AW: VBA Verweis auf Brother Label-Drucker b-PAC
18.02.2017 04:59:24
fcs
Hallo Flo,
das Makro muss mit modifizierter Variablendefinition wie folgt aussehen.
Soweit ich auf die Schnelle feststellen konnte hat die Varaible bpoDefault den Wert "0"
Das musst du aber nochmals prüfen, indem du bei der funktionierenden Makro-Version im VBA-Editor einen Haltepunkt setzt und dann das Makro ausführst. Du kannst dann den Wert sehen wenn du über die Variable hooverst. Alternativ kannst du im VBA-Editor unter Ansicht "Objektkatalog" in der Bibliothek "bpac" nach entsprechenden Begriffen suchst - z.B. bpoDefault .
LG
Franz
'-----------------------------------------------------------------------------------------
' b-PAC 3.0 Component Sample
' (C)Copyright Brother Industries, Ltd. 2009
Option Explicit
Const sPath = "C:\Users\***\Sample.lbx"
Private Sub Aufkleber(control As IRibbonControl)
Dim bRet As Boolean
Dim ObjDoc As Object '   bpac.Document        '####
Set ObjDoc = CreateObject("bpac.Document")
'Open lbx file
bRet = ObjDoc.Open(sPath)
If (bRet  False) Then
' Determine how many rows the user selected
Dim iTotal As Integer
iTotal = Selection.Rows.Count
' Start Print-Setting
ObjDoc.StartPrint "", "0"     '#### bpoDefault durch Wert ersetzen
Dim r As Integer
For r = 1 To iTotal
Dim Str As String
Dim iRow As Integer
' E
iRow = Selection.Cells(r, 1).Row
Str = Cells(iRow, 4).Text
ObjDoc.GetObject("E").Text = Str
' M
Str = Cells(iRow, 2).Text
ObjDoc.GetObject("M").Text = Str
' Register to print
ObjDoc.PrintOut 1, "0"     '#### bpoDefault durch Wert ersetzen
Next
' Finish Print-Setting.iStart the printing.j
ObjDoc.EndPrint
' Close lbx file
ObjDoc.Close
End If
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige