VBA Skript um in PDF-Formular Optionsfelder auszuwählen
24.10.2023 22:17:26
SanBernardo
Ich möchte über ein VBA Skript (Quelle Excel) in einem PDF Formular Textfelder ausfüllen. Das funktiniert schon. Aber ich muss auch Optionsfelder auswählen.
Hierfür habe ich noch keine Lösung.
Konkret geht es um die Optionsfeld-Gruppe "Stromanschluss" - hier gibt es 2 Optionsfelder: "Ja" und "Nein"
Es soll "Ja" ausgewählt werden.
Ich habe Adobe Acrobat Pro DC installiert.
Versucht habe ich mit folgendem Code: (Bei Set RadioButton = RadioGroup.Item(0) ' Index 0 für "JA") kommt immer Laufzeitfehler 438)
Muss ich den RadioButton noch irgendwie initialisieren?
Sub test()
Dim AcroApp As Object
Dim AVDoc As Object
Dim PDFForm As Object
Dim RadioGroup As Object
Dim RadioButton As Object
' Starten Sie Adobe Acrobat
Set AcroApp = CreateObject("AcroExch.App")
' Öffnen Sie das PDF-Formular
Set AVDoc = CreateObject("AcroExch.AVDoc")
AVDoc.Open "C:\Users\Bernard Weber\Documents\Persönlich\testo\NZV.pdf", ""
AVDoc.BringToFront
Set PDFForm = AVDoc.GetPDDoc
' Greifen Sie auf die Radio-Gruppe "Stromanschluss" zu (nach dem Feldnamen anpassen)
Set RadioGroup = PDFForm.GetJSObject().getField("Stromanschluss")
'Set RadioGroup = PDFForm.GetJSObject().getField("Stromanschluss")
' Wählen Sie das Optionsfeld "JA" aus (nach dem Feldnamen anpassen)
Set RadioButton = RadioGroup.Item(0) ' Index 0 für "JA"
RadioButton.Value = True
End Sub
Sub test()
Dim AcroApp As Object
Dim AVDoc As Object
Dim PDFForm As Object
Dim RadioGroup As Object
Dim RadioButton As Object
' Starten Sie Adobe Acrobat
Set AcroApp = CreateObject("AcroExch.App")
' Öffnen Sie das PDF-Formular
Set AVDoc = CreateObject("AcroExch.AVDoc")
AVDoc.Open "C:\Users\Bernard Weber\Documents\Persönlich\testo\NZV.pdf", ""
AVDoc.BringToFront
Set PDFForm = AVDoc.GetPDDoc
' Greifen Sie auf die Radio-Gruppe "Stromanschluss" zu (nach dem Feldnamen anpassen)
Set RadioGroup = PDFForm.GetJSObject().getField("Stromanschluss")
'Set RadioGroup = PDFForm.GetJSObject().getField("Stromanschluss")
' Wählen Sie das Optionsfeld "JA" aus (nach dem Feldnamen anpassen)
Set RadioButton = RadioGroup.Item(0) ' Index 0 für "JA"
RadioButton.Value = True
End Sub