18.01.2019, 11:06
(Dieser Beitrag wurde zuletzt bearbeitet: 18.01.2019, 11:07 von WillWissen.
Bearbeitungsgrund: Codetags
)
So liebe Gemeinde,
ich hoffe ich stell mich nicht allzu doof an und beschreibe mein Problem korrekt, weil es mein erster eintrag in einem solchem Forum ist.
Ich habe 2 Probleme Problem:
1. beim ersten ausführen der Datei läuft alles super das dokument wird im Hintergrund geöffnet, die Daten werden eingetragen, das Dokument wird gedruckt und das Dokument wird im Hintergrund wieder geschlossen.
Es läuft also alles unsichtbar und gut.
beim zweitem ausführen jedoch läuft der Prozess zwar auch sauber durch jedoch öffnet sich die Word datei ). dann muss die manuell geschlossen werden.Beim nächsten mal bleibt sie wieder zu.
Also bei jedem 2tem mal passiert das und ich habe keine Ahnung warum .
2. ich schaffe es nicht dem Word Dokument mitzuteilen das es nur die erste Seite drucken soll, weil wenn ich unten bei .printout Page:=1 hinzufügen macht der drucker nämlich garnichts mehr.
was aber funktioniert ist wenn ich .printout copies:=2 schreibe druckt er das dokument doppelt aus .
ich hoffe einer von euch kann mi helfen, denn ich verzweifle daran..
LG und vielen Dank im Vorrraus!
ich hoffe ich stell mich nicht allzu doof an und beschreibe mein Problem korrekt, weil es mein erster eintrag in einem solchem Forum ist.
Ich habe 2 Probleme Problem:
1. beim ersten ausführen der Datei läuft alles super das dokument wird im Hintergrund geöffnet, die Daten werden eingetragen, das Dokument wird gedruckt und das Dokument wird im Hintergrund wieder geschlossen.
Es läuft also alles unsichtbar und gut.
beim zweitem ausführen jedoch läuft der Prozess zwar auch sauber durch jedoch öffnet sich die Word datei ). dann muss die manuell geschlossen werden.Beim nächsten mal bleibt sie wieder zu.
Also bei jedem 2tem mal passiert das und ich habe keine Ahnung warum .
2. ich schaffe es nicht dem Word Dokument mitzuteilen das es nur die erste Seite drucken soll, weil wenn ich unten bei .printout Page:=1 hinzufügen macht der drucker nämlich garnichts mehr.
was aber funktioniert ist wenn ich .printout copies:=2 schreibe druckt er das dokument doppelt aus .
ich hoffe einer von euch kann mi helfen, denn ich verzweifle daran..
LG und vielen Dank im Vorrraus!
Code:
Private Sub CommandButton8_Click()
Userform1.Show vbModeless
Dim wrdApp As Object
Dim wrdDoc As Object
Dim appWord As Object
Dim doc As Object
On Error Resume Next
Set appWord = GetObject(, "Word.Application")
If Err.Number <> 0 Then Set appWord = CreateObject("Word.Application")
Set doc = appWord.Documents.Open("C:\schlüssel\Schließberechtigung.docx")
'definieren zum schreiben nach word
Dim m As Variant
Dim ma As Variant
Dim n As Variant
Dim na As Variant
Dim o As Variant
Dim oa As Variant
Dim p As Variant
Dim pa As Variant
Dim q As Variant
Dim qa As Variant
Dim r As Variant
Dim ra As Variant
'Multiline in Textbox anschalten
doc.formfields.MultiLine = True
'Inhalte aus Zellen in Worddatei einfügen
doc.formfields("Text1").result = Worksheets("Tabelle1").TextBox1.Value
m = WorksheetFunction.Transpose(Worksheets("tabelle2").Range("m2:m22"))
doc.formfields("Text2").result = Join(m, Chr(13))
ma = WorksheetFunction.Transpose(Worksheets("tabelle2").Range("m23:m37"))
doc.formfields("Text3").result = Join(ma, Chr(13))
n = WorksheetFunction.Transpose(Worksheets("tabelle2").Range("n2:n22"))
doc.formfields("Text4").result = Join(n, Chr(13))
na = WorksheetFunction.Transpose(Worksheets("tabelle2").Range("n23:n30"))
doc.formfields("Text5").result = Join(na, Chr(13))
o = WorksheetFunction.Transpose(Worksheets("tabelle2").Range("o2:o22"))
doc.formfields("Text6").result = Join(o, Chr(13))
oa = WorksheetFunction.Transpose(Worksheets("tabelle2").Range("o23:o25"))
doc.formfields("Text7").result = Join(oa, Chr(13))
p = WorksheetFunction.Transpose(Worksheets("tabelle2").Range("p2:p11"))
doc.formfields("Text8").result = Join(p, Chr(13))
pa = WorksheetFunction.Transpose(Worksheets("tabelle2").Range("p12"))
doc.formfields("Text9").result = Join(pa, Chr(13))
q = WorksheetFunction.Transpose(Worksheets("tabelle2").Range("q2:q20"))
doc.formfields("Text10").result = Join(q, Chr(13))
qa = WorksheetFunction.Transpose(Worksheets("tabelle2").Range("q21"))
doc.formfields("Text11").result = Join(qa, Chr(13))
r = WorksheetFunction.Transpose(Worksheets("tabelle2").Range("r2:r4"))
doc.formfields("Text12").result = Join(r, Chr(13))
ra = WorksheetFunction.Transpose(Worksheets("tabelle2").Range("r5"))
doc.formfields("Text13").result = Join(ra, Chr(13))
doc.PrintOut ((Pages:=1))
Set wrdDoc = Nothing
Set wrdApp = Nothing
Application.Wait Now + TimeSerial(0, 0, 5)
wrdApp.Close
Dim WsShell
Dim intText As Integer
Set WsShell = CreateObject("WScript.Shell")
intText = WsShell.Popup("Schließberechtigung erstellt.", 3, "Automatisch...")
End Sub