Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Word 2010 - Textmarken mit Exceldaten befüllen

Frage Microsoft Microsoft Office

Mitglied: anding

anding (Level 2) - Jetzt verbinden

18.02.2013 um 10:14 Uhr, 7334 Aufrufe, 11 Kommentare

VBA-Skript zum Befüllen von Word mit Exceldaten

Hallo Zusammen,

ich habe ein Problem im Word VBA. Ich suche eine Lösung, in der ich per VBA eine Exceldatei auslesen kann und die Daten in Word-Textmarken einfügen lasse.

Es soll so sein, beim öffnen der Datei werde ich gefragt, was ich auslesen will. Wähle ich Benutzer 1 aus, dann:

Textmarke 1 = Exceldatei1 Tabellenblatt1 Zelle A3
Textmarke 1 = Exceldatei1 Tabellenblatt1 Zelle A5
Textmarke 1 = Exceldatei1 Tabellenblatt1 Zelle A8
Textmarke 1 = Exceldatei1 Tabellenblatt5 Zelle C3
usw.

Lässt sich das irgendwie umsetzen, oder bin ich komplett auf dem Holzweg?!
Mitglied: miniversum
18.02.2013 um 14:57 Uhr
Für Textmarken weiß ich jetzt nicht aber für ein Textfeld ginge das ungefär so:
01.
Set xlWkb = GetObject("C:\Exceldatei1.xls") 
02.
ZellWert = xlWkb.Sheets("Tabellenblatt1").Range("A3").Value 
03.
xlWkb.Saved = True 
04.
xlWkb.Close 
05.
Set xlWkb = Nothing 
06.
ActiveDocument.CustomDocumentProperties("Textfeld1").Value = ZellWert
Vielleicht hilft dir das schon mal weiter
Bitte warten ..
Mitglied: 76109
18.02.2013, aktualisiert um 16:33 Uhr
Hallo miniversum!

Textmarken in etwa so:
01.
    strText = "Textmarken-Text" 
02.
     
03.
    With ActiveDocument 
04.
        If .Bookmarks.Exists("Textmarke 1") Then 
05.
            With .Bookmarks("Textmarke 1").Range.Words(1) 
06.
                If .Characters(1) > " " Then .Delete  'Textmarke-Inhalt ggf vorher löschen 
07.
               .InsertBefore strText 
08.
            End With 
09.
        Else 
10.
            MsgBox "Textmarke 1 nicht gefunden!", vbExclamation, "Fehler . . ." 
11.
        End If 
12.
    End With
Deine Codezeile 3 und 4 könntest Du auch durch diese Codezeile ersetzen:
01.
xlWkb.Close False  ' Schließen ohne Speichern
Gruß Dieter
Bitte warten ..
Mitglied: anding
19.02.2013 um 16:02 Uhr
Hallo,

ich bin schon recht weit - nur eine Frage stellt sich mir jetzt noch.
Ich will eine Select Case Anweisung in Verbindung mit einer ComboBox:

Wenn Punkt1 ausgewählt --> Mach das
Wenn Punkt2 ausgewählt --> Mach das
Wenn Punkt3 ausgewählt --> Mach das
.
.
.
.

Könnt ihr mir da helfen?!
Bitte warten ..
Mitglied: 76109
19.02.2013 um 18:06 Uhr
Hallo anding!

In etwa so:
01.
Private Sub ComboBox1_Change() 
02.
    Select Case ComboBox1.ListIndex 
03.
        Case 0 
04.
            MsgBox "Punkt1" 
05.
        Case 1 
06.
            MsgBox "Punkt2" 
07.
        Case 2 
08.
            MsgBox "Punkt3" 
09.
        Case Else 
10.
            MsgBox "PunktX" 
11.
    End Select 
12.
End Sub
Oder so:
01.
Private Sub ComboBox1_Change() 
02.
    Select Case ComboBox1.Value 
03.
        Case "Punkt1" 
04.
            MsgBox "Punkt1" 
05.
        Case "Punkt2" 
06.
            MsgBox "Punkt2" 
07.
        Case "Punkt3" 
08.
            MsgBox "Punkt3" 
09.
        Case Else 
10.
            MsgBox "PunktX" 
11.
    End Select 
12.
End Sub
Gruß Dieter
Bitte warten ..
Mitglied: miniversum
19.02.2013 um 18:33 Uhr
Zitat von 76109:
Hallo miniversum!

Deine Codezeile 3 und 4 könntest Du auch durch diese Codezeile ersetzen:
01.
> xlWkb.Close False  ' Schließen ohne Speichern 
02.
> 

Hallo Dieter

Ich weiß das ich das in eine einzelne Zeile packen könnte. Ich mag es allerdings manchmal separat um es übersichtlich zu halten.

Man könnte sich noch als Möglichkeit überlegen zwischen meine Zeile 1 und 2 ein
01.
savestate = xlWkb.Saved
zu packen und dann vor dem schliessen mit
01.
xlWkb.Saved = savestate
den Ursprungszustand wieder herzustellen.
Bitte warten ..
Mitglied: 76109
19.02.2013 um 19:48 Uhr
Hallo miniversum!

Wozu den Ursprungszustand wiederherstellen, wenn das Workbook eh geschlossen wird.

Zudem würde ich in Verbindung mit 'GetObject' nicht raten, ein Workbook zu speichern, sondern GetObject nur zum Auslesen von Workbooks zu verwenden. Was ich damit meine, findest Du heraus, indem Du mal ein Workbook mit GetObject speicherst und anschließend in Excel öffnest...

Gruß Dieter
Bitte warten ..
Mitglied: miniversum
19.02.2013 um 20:08 Uhr
Wenn es wirklich mit GetObject geöffnet wurde, dann ist das speicher flag sowieso nicht gesetzt und es wird nicht gespeichert.
War die Excel Mappe allerdings bereits geöffnet wird sie ja mit GetObject nicht noch einmal neu geöffnet. Änderungen könnten allerdings gemacht worden sein die noch nicht gespeichert sind. Da macht das rücksetzen Sinn. Der eigentliche close befehl muss natürlich auch bedingt werden.
Bitte warten ..
Mitglied: 76109
19.02.2013 um 20:31 Uhr
Hallo miniversum!

Ja, wenn das Workbook bereits geöffnet ist, wäre dass ein Zustand, den ich noch nicht getestet habe und unter dieser Annahme, würde ich dann auch kein GetObject verwenden oder vorher mit WSchell.AppActivate prüfen, ob die Datei bereits geöffnet ist...

Gruß Dieter
Bitte warten ..
Mitglied: anding
20.02.2013 um 07:25 Uhr
Vielen Dank euch allen!

Ein Thema hab ich noch. Öffne ich die dotm, startet das UserForm einwandfrei, nur will ich eben, dass es öffnet bei einem neuen Dokument nach dieser Vorlage. Hab ich den Code an der falschen Stele eingefügt?!

Private Sub Document_Open()
UserForm1.Show
End Sub
Bitte warten ..
Mitglied: 76109
20.02.2013, aktualisiert 22.02.2013
Hallo anding!

Versuchs mal mit:
01.
Private Sub Document_New()
Gruß Dieter
Bitte warten ..
Mitglied: anding
22.02.2013 um 10:38 Uhr
Vielen Dank!
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Word: Zeilenumbruch bei Textmarke entfernen
Frage von BadgerMicrosoft Office

Hallo, folgende Ausgangslage: In einem Word Dokument sind Textmarken von verschiedenen Excel-Zeilen vorhanden: Das Problem ist, dass automatisch immer ...

Microsoft Office
Word Textmarke in Formularfeld schreiben
Frage von hausensMicrosoft Office7 Kommentare

Hallo, Wir haben ein CRM über welches wir auch Nachrichten versenden. Über die Textmarken kann man auf Daten wie ...

Visual Studio
Vb.net: Word-Doc seitenweise durchsuchen nach Textmarke
gelöst Frage von ahstaxVisual Studio7 Kommentare

Hallo, ich möchte ein Word-Dokument nach einer Textmarke durchsuchen, um die Seitennummer derjenigen Seite zu erfahren, auf dem die ...

Datenbanken
Visual FoxPro Word Automation Auf Textmarke springen
gelöst Frage von 115122Datenbanken8 Kommentare

Guten Morgen, ich arbeite momentan an einem FoxPro-Projekt, bei dem Daten aus der Datenbank per Klick auf einen Button ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 11 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 12 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 19 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server15 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...