Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Mit Excel Makro Wordvorlage öffnen und Daten von Excel nach Word kopieren

Frage Entwicklung VB for Applications

Mitglied: TheEternalPhenom

TheEternalPhenom (Level 2) - Jetzt verbinden

01.12.2010 um 10:55 Uhr, 16207 Aufrufe, 5 Kommentare

Hallo Forengemeinde,

ich hätte gerne ein Problem.

Ich soll eine automatisierte Rechnung in Excel erstellen. Das ganze ist ein Schulprojekt, welches ohne Vorgabe des Lösungsweges erstellt werden soll. Ich habe die ganze Geschichte über eine UserForm gelöst. Bei der ganzen Sache funktioniert alles ohne Probleme außer eine Kleinigkeit.

Ich möchte die gesamte Rechnung in Word exportieren. Prinzipiell funktioniert dies auch. Mir ist aber die Idee gekommen ein Vorlage mit einer optisch ansprechenderen Kopf- und Fußzeile zu nutzen. Nach längerem suchen im Netz habe ich diverse Codes zum Lösen des Problems gefunden. Leider hat kein Code die gesamt gewünschten Funktionen. Eigentlich alle Codes haben entweder eine neue Word Datei geöffnet oder eine definierte Datei.
Durch etwas herum experimentieren bin ich zu folgendem Code gekommen:

01.
Private Sub CommandButton5_Click() 
02.
Dim AppWord As Word.Application 
03.
 
04.
Set AppWord = CreateObject("Word.Application") 
05.
AppWord.Visible = True 
06.
 
07.
Sheets("Tabelle1").Range(Cells(1, 1), Cells(50, 7)).Copy 
08.
AppWord.Documents.Add 
09.
AppWord.Selection.Paste 
10.
 
11.
Application.CutCopyMode = False 
12.
 
13.
Set AppWord = Nothing 
14.
End Sub 
Das Programm kopiert die Rechnung in ein neues Worddokument. Bisher sind alle Versuche gescheitert eine spezielle Worddatei zu öffnen. Entweder ich wurde von Fehlermeldungen zu geschüttet oder die Vorlage wurde geöffnet und für die Rechnung wurde ein neues Dokument geöffnet.

Momentan bin ich mit meinem Latein am Ende.
Ich würde mich über etwas Hilfe sehr freuen.

Schon einmal vielen Dank für eure Bemühungen im voraus.

Mit vorweihnachtlichen Grüßen

duffman521
Mitglied: 76109
01.12.2010 um 19:35 Uhr
Hallo duffman521!

Versuchs mal so:
01.
Const wdMove = 0        'Word-Konstanten 
02.
Const wdLine = 5 
03.
Const wdStory = 6 
04.
 
05.
Const InsertLine = 4    'Word-Einfügzeile 
06.
 
07.
Const DocPath = "E:\Test\Test.doc"	'Word-Dokument 
08.
 
09.
Private Sub CommandButton5_Click() 
10.
    Dim AppWord As Object 
11.
 
12.
    Set AppWord = CreateObject("Word.Application") 
13.
     
14.
    Sheets("Tabelle1").Range("A1:G50").Copy 
15.
     
16.
    With AppWord 
17.
        .Visible = True 
18.
        .Documents.Open DocPath 
19.
         With .Selection 
20.
            .HomeKey Unit:=wdStory, Extend:=wdMove      'Position 1. Zeile setzen 
21.
            .MoveDown Unit:=wdLine, Count:=InsertLine   'Position n. Zeilen nach unten 
22.
            .Paste 
23.
         End With 
24.
    End With 
25.
 
26.
    Set AppWord = Nothing 
27.
     
28.
    Application.CutCopyMode = False 
29.
End Sub
Wobei die Einfügzeile im Dokument schon existieren muss. D.h. per Cursor-Tasten navigierbar.

Gruß Dieter

[edit] Codezeile 22 in ein einfaches Paste geändert [/edit]
Bitte warten ..
Mitglied: TheEternalPhenom
02.12.2010 um 10:02 Uhr
Hallo didi1954,

vielen Dank für deine Hilfe ich hätte da aber noch ein Problem.

Zitat von 76109:
Wobei die Einfügzeile im Dokument schon existieren muss. D.h. per Cursor-Tasten navigierbar.

Wie darf ich das verstehen?

Ich nutze momentan ein Worddokument mit einr Kopf- und Fußzeile. Beim speichern des Dokumentes steht der Cursor im eigentlichen Dokument (nicht in Kopf- oder Fußzeile) in der ersten Zeile.
Ich erhalte in Zeile 22 die Fehlermeldung:

Laufzeitfehler '428':

Objekt unterstützt diese Eigenschaft oder Methode nicht.


Ich vor dem ausführen des Codes nur den Pfad der Datei und die Range verändert. Es dürfte also nicht an meinen Änderungen liegen. Kann es ggf. an Office 2000 liegen?

Gruß

duffman521
Bitte warten ..
Mitglied: 76109
02.12.2010 um 16:53 Uhr
Hallo duffman521!

Zitat von TheEternalPhenom:
> Wobei die Einfügzeile im Dokument schon existieren muss. D.h. per Cursor-Tasten navigierbar.

Wie darf ich das verstehen?
Mhm, soll heißen, dass der MoveDown nur funktioniert, wenn die entsprechende Zeile mit den Cursor-Tasten (Pfeil-Unten) angesteuert werden kann. Z.B. Neues Dokument 4 mal Return drücken, dann hat das Dokument schon mal 5 Zeilen und mit MoveHome wird die Zeile 1 angesteuert und mit anschließendem MoveDown 4 Zeilen nach unten (= Zeile 5). Ansonsten müsste die entsprechende Zeile per Paragraphs.Add - sowas in der Art - erst erzeugt werden.

Im Beispielcode habe ich gleich auf die Möglichkeit hinweisen wollen, wie die Tabelle auch wahlweise in einer anderen Zeile als der 1. Zeile per Move-Anweisungen eingefügt werden kann

Ich nutze momentan ein Worddokument mit einr Kopf- und Fußzeile. Beim speichern des Dokumentes steht der Cursor im
eigentlichen Dokument (nicht in Kopf- oder Fußzeile) in der ersten Zeile.
Die erste Text-Zeile entspricht MoveHome.
Ich erhalte in Zeile 22 die Fehlermeldung:
Word 2000 keine Ahnung? Sollte in Codezeile 22 mit:
01.
.Paste
genauso funktionieren

Gruß Dieter

[edit] obigen Code entsprechend geändert [/edit]
Bitte warten ..
Mitglied: TheEternalPhenom
02.12.2010 um 17:14 Uhr
Ich merke gerade das ich heute morgen auf der Leitung stand bzw. saß.

Jetzt ergibt alles Sinn. Funktioniert mit .Paste einwandfrei.

Vielen Herzlichen Dank für die Hilfe. Jetzt werden mich meine Klassenkameraden noch mehr hassen. *g*

Gruß

duffman521
Bitte warten ..
Mitglied: 76109
04.12.2010 um 18:50 Uhr
Hallo duffman521!

Zitat von TheEternalPhenom:
Ich merke gerade das ich heute morgen auf der Leitung stand bzw. saß.
War mir beim verfassen schon irgendwie klar, dass die Erklärung etwas unglücklich ausgedrückt ist
Jetzt ergibt alles Sinn. Funktioniert mit .Paste einwandfrei.
Freu mich zu hören
Vielen Herzlichen Dank für die Hilfe.
Yepp, gern geschehen
Jetzt werden mich meine Klassenkameraden noch mehr hassen. *g*
Besser Dich (Streber) als mich

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel Makro zum Kopieren von Daten aus Mappe1 in Mappe2 (3)

Frage von Alex993 zum Thema Microsoft Office ...

VB for Applications
gelöst VBA - Bereich von Excel nach Word kopieren (6)

Frage von schwazza89 zum Thema VB for Applications ...

Microsoft Office
gelöst Makro wird beim öffnen Vorlage nicht ausgeführt (8)

Frage von Sunny89 zum Thema Microsoft Office ...

Microsoft Office
"Microsoft Excel kann die Daten nicht einfügen" (2)

Frage von arik12 zum Thema Microsoft Office ...

Neue Wissensbeiträge
Multimedia

Raspberry Pi als Digital-Signage-Computer

(1)

Information von BassFishFox zum Thema Multimedia ...

Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(15)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Router & Routing
Freigabe aus anderem Netz nicht erreichbar (21)

Frage von McLion zum Thema Router & Routing ...

Windows Server
Kennwort vergessen bei Hyper vserver 2012r (20)

Frage von jensgebken zum Thema Windows Server ...

Batch & Shell
Batch Programm verhalten bei shoutdown -p (19)

Frage von Michael-ITler zum Thema Batch & Shell ...

Festplatten, SSD, Raid
Raidcontroller funktioniert nur, wenn unter Legacy-Boot gestartet wird (13)

Frage von DerWoWusste zum Thema Festplatten, SSD, Raid ...