Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Dropdown in Acrobat übernehmen

Dropdown in Acrobat übernehmen
26.02.2009 16:21:24
Thomas
Hallo zusammen
Ich habe eine schöne Schaltzentrale gebastelt, welche die Daten aus meinem Kundenverwaltungsprogramm automatisch in Excel übernimmt und von dort aus dann wieder PDF Dateien mit Inhalt generiert werden. Ich hänge nur noch an einem einzigen Punktz ;(
Set fieldObj = jsObj.getField("Geb1")
' ... und wert setzen
TestVal = Worksheets("Dateneingabe").Range("Q7").Value
fieldObj.Value = TestVal
So sieht der Befehl aus, welcher die einzlenen Zellen in Acrobat übernimmt.
Nun habe ich aber ein Dropdownmenü mit längeren Texten, welche immer verschieden sind.
Den mit dem Menpü ausgewählten Text möchte ich auch in Acrobat übernehmen.
Allerdings ist ein Dropdown eben keine Zelle und ich weiß nun nicht was ich anstattz.B. Q7
einzugeben habe.
Weiß das zufällig jemand?
Vielen Dank
Thomas
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dropdown in Acrobat übernehmen
26.02.2009 16:37:09
Renee
Hi Thomas,
Zitat: Allerdings ist ein Dropdown eben keine Zelle
Was ist es ? Eine ComboBox aus der Steuerelemente-Toolbox oder eine Kombinationsfeld aus der Formular Steuerleiste ? und wie heisst es. ?
GreetZ Renée
AW: Dropdown in Acrobat übernehmen
26.02.2009 16:56:09
Thomas
Hallo Renee
Es ist ein Kombinationsfeld aus "Formularsteuerelemente" und heisst Dropdown 230
Danke schon mal
Anzeige
AW: Dropdown in Acrobat übernehmen
26.02.2009 17:11:00
Renee
Hi Thomas,
Wenn es eine Zellverknüpfung hat und das sollte es eigentlich, dann nach diesem Schema:
Beispiel: Tabelle heisst Tabelle1 Steuerlement: EingabeBereich ist : A2:A100 Zellverknüpfung ist D10
Code:

fieldObj.Value = Worksheets("Dateneingabe").Range("A2:A100") _
.Cells(Worksheets("Dateneingabe").Range("D10").Value, 1).Value


GreetZ Renée
Anzeige
Vergiss das mit Tabelle1! sorry... (owT)
26.02.2009 17:14:02
Renee

AW: Dropdown in Acrobat übernehmen
27.02.2009 06:09:32
Thomas
Hmmmmmmmmm - das bekomm ich nicht hin.
Hier mal den gesamten Code. Vielleicht wirds einfacher
Die Texte habe ich auf ein Extra Tabellenblatt Namens Protokoll geschrieben. Und zwar von A1 bis A10

Sub ProtokollM()
Dim pdfPath As String
Dim TestVal As String
'Dim pdDoc As Acrobat.CAcroPDDoc
'Dim avDoc As Acrobat.CAcroAVDoc
'Dim acroApp As Acrobat.CAcroApp
Dim pdDoc As Object
Dim avDoc As Object
Dim acroApp As Object
Dim jsObj As Object
Dim fieldObj As Object
' hier liegt die Test Datei
pdfPath = "C:\Dokumente und Einstellungen\GA\Eigene Dateien\ANGEBOT\Angebot-PIB\Protokoll_M. _
pdf"
Set acroApp = CreateObject("AcroExch.App")
Set avDoc = CreateObject("AcroExch.avDoc")
acroApp.Show
' doc öffnen
If avDoc.Open(pdfPath, "Beratungsprotokoll") Then
Set pdDoc = avDoc.GetPDDoc()
Set jsObj = pdDoc.GetJSObject()
' Zugriff auf das Feld
Set fieldObj = jsObj.getField("Name")
' ... und wert setzen
fieldObj.Value = Worksheets("Dateneingabe").Range("C4").Value
' Zugriff auf das Feld
Set fieldObj = jsObj.getField("Strasse")
' ... und wert setzen
fieldObj.Value = Worksheets("Dateneingabe").Range("Q4").Value
' Zugriff auf das Feld
Set fieldObj = jsObj.getField("PLZ")
' ... und wert setzen
fieldObj.Value = Worksheets("Dateneingabe").Range("Q5").Value
' Zugriff auf das Feld
Set fieldObj = jsObj.getField("Wohnort")
' ... und wert setzen
TestVal = Worksheets("Dateneingabe").Range("Q6").Value
fieldObj.Value = TestVal
Set fieldObj = jsObj.getField("Kunde")
' ... und wert setzen
TestVal = Worksheets("Dateneingabe").Range("C4").Value
fieldObj.Value = TestVal
Set fieldObj = jsObj.getField("Geb1")
' ... und wert setzen
TestVal = Worksheets("Dateneingabe").Range("Q7").Value
fieldObj.Value = TestVal
Set fieldObj = jsObj.getField("Tätig1")
' ... und wert setzen
TestVal = Worksheets("Dateneingabe").Range("Q8").Value
fieldObj.Value = TestVal
Set fieldObj = jsObj.getField("beschreibung")
fieldObj.Value = Worksheets("Protokoll").Range("A1:A100").Cells(Worksheets(" _
Dateneingabe").Range("D10").Value, 1).Value
fieldObj.Value = TestVal
' aufräumen
Set fieldObj = Nothing
Set pdDoc = Nothing
End If
Set avDoc = Nothing
Set acroApp = Nothing
End Sub


Danke für die Hilfe

Anzeige
Der Code nützt hier wenig...
27.02.2009 08:34:52
Renee
Thomas,
Wichtig sind hingegeben die Zelladressen des Eingabebereichs und der Zellverknüpfung deines Kombinationsfeldesd. Rechtsklick - Steuerelement formatieren - Steuerung sollten dir die Information liefern. Diese Adressen musst du in mein Codeschnipsel übertragen,
d.h.

fieldObj.Value = Worksheets("Dateneingabe").Range("EingabebereichAdressen") _
.Cells(Worksheets("Dateneingabe").Range("ZellverknüpfungAdresse").Value, 1).Value


GreetZ Renée

Anzeige
AW: Der Code nützt hier wenig...
27.02.2009 09:01:13
Thomas
Hallo renee
Kann ich Dir das Excel mal mailen.?
AW: Der Code nützt hier wenig...
27.02.2009 09:14:30
Renee
Mein Adresse findest du unter Forums-Seiten - Profile
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Dropdown in Acrobat übernehmen


Schritt-für-Schritt-Anleitung

Um ein Dropdown in Acrobat zu übernehmen und sicherzustellen, dass die Daten korrekt aus Excel übernommen werden, folge diesen Schritten:

  1. Erstelle eine Dropdown-Liste in Excel:

    • Benutze die Funktion Datenüberprüfung in Excel, um eine Dropdown-Liste zu erstellen. Definiere den Bereich, aus dem die Werte stammen.
  2. Verknüpfe das Kombinationsfeld:

    • Stelle sicher, dass dein Kombinationsfeld in Excel eine Zellverknüpfung hat. Klicke mit der rechten Maustaste auf das Kombinationsfeld, wähle „Steuerelement formatieren“ und notiere dir die Zelladresse der Verknüpfung.
  3. Schreibe den VBA-Code:

    • Öffne den VBA-Editor in Excel (Alt + F11) und füge den folgenden Code ein, um die Daten in das PDF zu übertragen:
    Sub ProtokollM()
       Dim pdfPath As String
       Dim acroApp As Object
       Dim avDoc As Object
       Dim pdDoc As Object
       Dim jsObj As Object
       Dim fieldObj As Object
    
       pdfPath = "C:\Dokumente\DeinPDF.pdf"
       Set acroApp = CreateObject("AcroExch.App")
       Set avDoc = CreateObject("AcroExch.avDoc")
       acroApp.Show
    
       If avDoc.Open(pdfPath, "DeinPDF") Then
           Set pdDoc = avDoc.GetPDDoc()
           Set jsObj = pdDoc.GetJSObject()
    
           ' Zugriff auf das Dropdown-Feld
           Set fieldObj = jsObj.getField("DeinDropdownFeld")
           fieldObj.Value = Worksheets("Dateneingabe").Range("DeineZellverknüpfung").Value
    
           ' Aufräumen
           Set fieldObj = Nothing
           Set pdDoc = Nothing
       End If
       Set avDoc = Nothing
       Set acroApp = Nothing
    End Sub
  4. Teste den Code:

    • Führe das Makro aus und überprüfe, ob die Werte korrekt in das PDF übertragen werden.

Häufige Fehler und Lösungen

  • Fehler: Dropdown-Wert wird nicht übernommen:

    • Stelle sicher, dass die Zellverknüpfung korrekt gesetzt ist. Überprüfe die Zelladresse, die du im Code verwendest.
  • Fehler: PDF kann nicht geöffnet werden:

    • Überprüfe den Pfad zu deiner PDF-Datei. Stelle sicher, dass die Datei existiert und der Pfad korrekt ist.
  • Fehler: Das Kombinationsfeld wird nicht gefunden:

    • Vergewissere dich, dass der Name des Feldes in Acrobat exakt mit dem im VBA-Code übereinstimmt.

Alternative Methoden

Falls du Schwierigkeiten mit VBA hast, gibt es auch andere Methoden, um ein Dropdown in ein PDF zu übertragen:

  1. Adobe Acrobat:

    • Du kannst auch direkt in Adobe Acrobat ein Dropdown-Feld erstellen und die Werte manuell eingeben.
  2. Online-Tools:

    • Nutze Online-Tools wie PDFescape oder JotForm, um PDF-Formulare mit Dropdown-Listen zu erstellen. Diese Tools ermöglichen es, Daten aus Excel zu importieren.

Praktische Beispiele

Ein Beispiel für eine Dropdown-Liste in Excel, die in ein PDF übertragen wird:

  1. Excel-Daten:

    • Angenommen, die Dropdown-Liste ist in den Zellen A1 bis A10 definiert und die Zellverknüpfung ist B1.
  2. PDF-Feld:

    • In deinem PDF gibt es ein Dropdown-Feld mit dem Namen „Kundenliste“.
  3. VBA-Code:

    Set fieldObj = jsObj.getField("Kundenliste")
    fieldObj.Value = Worksheets("Dateneingabe").Range("B1").Value

Tipps für Profis

  • Verwende benannte Bereiche in Excel für deine Dropdown-Listen, um die Wartung zu erleichtern.
  • Nutze Debugging im VBA-Editor, um Probleme schneller zu identifizieren.
  • Dokumentiere deinen Code, um die Nachvollziehbarkeit zu gewährleisten, besonders wenn du komplexere Logiken verwendest.

FAQ: Häufige Fragen

1. Wie erstelle ich ein PDF mit Dropdown in Excel?
Um ein PDF mit Dropdown zu erstellen, musst du in Excel zuerst die Dropdown-Liste definieren und dann VBA verwenden, um die Daten in das PDF zu übertragen.

2. Kann ich Adobe Acrobat verwenden, um Dropdown-Listen zu erstellen?
Ja, Adobe Acrobat ermöglicht es dir, Dropdown-Listen direkt im PDF zu erstellen. Du musst jedoch sicherstellen, dass die Formate miteinander kompatibel sind.

3. Was ist eine Zellverknüpfung in einem Kombinationsfeld?
Eine Zellverknüpfung ist die Excel-Zelle, die den aktuell ausgewählten Wert des Kombinationsfeldes speichert. Sie ermöglicht es, dass der Wert automatisch in die Zelle übertragen wird, wenn eine Auswahl getroffen wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige