nichita
Goto Top

Hyperlinks aus Tabelle Drucken über Schaltfläche

Hallo!

Ich arbeite derzeit an einer Excelmappe (Win 7, Excel 2010, VB 6) mit mehreren Tabellen. Darin befinden sich sogenannte Checklisten. Dort sollen drei Schaltflächen zur Auswahl stehen und zwar "Auswahl drucken", "Alles Drucken" und "Checkliste drucken". Den VB-Code für die Checkliste habe ich auch so weit hinbekommen. Leider scheitere ich an den anderen zwei. In den Checklisten befinden sich Hyperlinks wo jeweils eine PDF hinterlegt ist. Anhand von Checkboxen soll der User auswählen können, welche PDF´s er ausgedruckt haben will. In dem Falle "Alles Drucken" sollen einfach alle Hyperlinks gedruckt werden die auf dem aktiven Tabellenblatt stehen. Zwischen den Hyperlinks befinden sich jedoch Zellen in denen sich nur Text befindet und kein Hyperlink. Leider sind meine VB-Kenntnisse sehr beschränkt und ich habe anhand des Internets folgendes erreichen können im Falle "Auswahl drucken":

Private Sub CommandButton1_Click()
   Dim sh As Shape, obj As Object
   
   For Each sh In ActiveSheet.Shapes
      Set obj = sh.OLEFormat.Object
      If TypeOf obj Is OLEObject Then
         If TypeOf obj.Object Is Msforms.CheckBox Then
            If obj.Object.Value = True Then
                MsgBox "ich bin eine Checkbox: " & obj.Object.Caption  
               ' for each row in activesheet.spaltec  
                    'If Row.inhalt = obj.Object.Caption Then  
                    'prcPrint_PDF "c:\temp\excel\", "beschreibung.pdf"   
                   ' End If  
               'next  
            End If
         End If
      End If
   Next
End Sub


Den Mittelteil bekomm ich einfach nicht gebacken. Ich habe auch sonst nichts der gleichen im Internet finden können.
Kann mir jmd hierbei bitte helfen?

Liebe Grüße
Alisa

Content-Key: 246497

Url: https://administrator.de/contentid/246497

Ausgedruckt am: 28.03.2024 um 20:03 Uhr

Mitglied: colinardo
Lösung colinardo 14.08.2014, aktualisiert am 21.08.2014 um 09:26:58 Uhr
Goto Top
Hallo Alisa, Willkommen auf Administrator.de!
Hier ein Demo-Sheet dazu.

Grüße Uwe
Mitglied: Nichita
Nichita 18.08.2014 um 07:46:59 Uhr
Goto Top
Hallo Uwe!

Danke für Antwort. Ich habe es heute ausprobiert bekomme bei dem Auswahlbutton leider einen Laufzeitfehler ´1004´ Fehler, Anwendungs- oder objektdefinierter Fehler. Wenn ich Teile davon in meinen Code einfüge und dass dann so aussieht

Private Sub CommandButton1_Click()
   Dim sh As Shape, obj As Object
   
   For Each sh In ActiveSheet.Shapes
      Set obj = sh.OLEFormat.Object
      If TypeOf obj Is OLEObject Then
         If TypeOf obj.Object Is Msforms.CheckBox Then
            If obj.Object.Value = True Then
               ' extrahiere den PDF-Link aus der Zelle neben der Checkbox  
                strHyperlink = shp.TopLeftCell.Offset(0, 1).Hyperlinks(1).Address
                'Drucke das PDF  
                Shell ("""" & strPathAcrobat & """ /h /p /t """ & strHyperlink & """")  
            End If
         End If
      End If
   Next
End Sub

Dann bekomme ich den Laufzeitfehler ´424´Objekt erfolgreich.

Weißt du vll was ich falsch mache?
Pfad zum Adobe Acrobat habe ich angepasst
Mitglied: colinardo
Lösung colinardo 18.08.2014, aktualisiert am 21.08.2014 um 09:27:02 Uhr
Goto Top
Copy n' Paste bringt's eben nicht !

Augen auf in Zeile 10:
Ein Objekt namens shp existiert bei dir nicht, dies heißt bei dir sh
strHyperlink = sh.TopLeftCell.Offset(0, 1).Hyperlinks(1).Address 
und in meinem Fall stand der Hyperlink direkt in der Zelle neben der Checkbox, was du an dem Offset sehen kannst, das musst du eventuell bei die anpassen.
Mitglied: Nichita
Nichita 18.08.2014 um 08:46:23 Uhr
Goto Top
Okay danke!
Meine Hyperlinks sitzen auch direkt daneben aber auf der anderen Seite, wie passe ich das an?
Mitglied: colinardo
Lösung colinardo 18.08.2014, aktualisiert am 21.08.2014 um 09:27:04 Uhr
Goto Top
wenn sie direkt links in der Zelle neben der Checkbox stehen so
strHyperlink = sh.TopLeftCell.Offset(0,-1).Hyperlinks(1).Address
Mitglied: Nichita
Nichita 18.08.2014 um 09:25:10 Uhr
Goto Top
Danke und tut mir Leid aber nun kommt Laufzeitfehler ´5´ Ungültiger Prodzeduraufruf oder ungültiges Argument. Liegt das an meinen Hyperlinks?
Mitglied: colinardo
Lösung colinardo 18.08.2014, aktualisiert am 21.08.2014 um 09:27:08 Uhr
Goto Top
ohne dein Sheet zu kennen, Raten mit der Glaskugel ....schau mal in deine persönlichen Nachrichten.
Mitglied: Nichita
Nichita 21.08.2014 um 09:26:43 Uhr
Goto Top
Hat alles super funktionier! Vielen lieben Dank!