ich habe ein Formular gebaut mit 18 Checkboxen und 3 Buttons. Jede Checkbox soll für ein Dokument stehen und durch den CommandButton1 sollen die ausgewählten Dokumente gedruckt werden. Die Dateien liegen jeweils auf Sharepoint ab. Ich habe mir folgenden Code gebaut, mit dem ich aber nur erreiche, dass die Datei geöffnet. die aktuelle Arbeitsmappe gedruckt wird und sich meine Arbeitsmappe danach schließt... Eigentlich will ich einfach nur die entsprechenden Dokumente hinter den Checkboxen drucken (Mehrfachauswahl soll möglich sein) und die Dokumente am besten gar nicht erst öffnen...
Ich brauche bitte Hilfe...
Private Sub CommandButton1_Click()
Call Drucken
End Sub
Sub Drucken()
Dim CheckBoxes(1 To 18) As Object
Dim HyperlinkAddresses(1 To 18) As String
Dim i As Integer
Dim wb As Workbook
Dim openedWb As Workbook
Set wb = ThisWorkbook
' Checkbox und Hyperlink
For i = 1 To 18
Set CheckBoxes(i) = Me.Controls("CheckBox" & i)
' Hyperlink-Adressen:
HyperlinkAddresses(1) = "http://www.example.com/Datei" & i & ".xlsx"
Next i
Application.ScreenUpdating = False
For i = 1 To 18
If CheckBoxes(i).Value = True Then
If HyperlinkAddresses(i) > "" Then
' Hyperlink öffnen
ThisWorkbook.FollowHyperlink Address:=HyperlinkAddresses(i)
' Dokument laden
Do While Workbooks.Count > 1
DoEvents
Loop
' Arbeitsmappe speichern und drucken
Set openedWb = ActiveWorkbook
openedWb.Worksheets(1).PrintOut
openedWb.Close SaveChanges:=False
Else
MsgBox "Hyperlink-Adresse für CheckBox" & i & " nicht definiert.", vbExclamation, "Fehler"
End If
End If
Next i
Application.ScreenUpdating = True
End Sub
Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub CommandButton3_Click()
' Alle Checkboxen anwählen
Dim i As Integer
For i = 1 To 18
Me.Controls("CheckBox" & i).Value = True
Next i
End Sub
Private Sub CommandButton4_Click()
' Alle Checkboxen abwählen
Dim i As Integer
For i = 1 To 18
Me.Controls("CheckBox" & i).Value = False
Next i
End Sub