Autor Thema: Text aus MS Word kopieren mit VBA  (Gelesen 10202 mal)

Offline ManniF

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Text aus MS Word kopieren mit VBA
« am: 12.09.06 - 15:16:32 »
Hallo,
ich möchte mit Lotus Script ein Word-Dokument öffnen, und von einer bestimmten Textmarke ("Betreff") an abwärts den gesamten Text kopieren und an anderer Stelle wieder einfügen.
Mein Script bisher:
Code
Set wd=CreateObject("Word.Application")
Set wddoc=wd.Documents.Open(“test.doc")
Set wddoc = wd.activedocument
wd.Visible=True
Call wddoc.Bookmarks("Betreff").Select
	Forall selection In wddoc.Words                           
		Selection.WholeStory
		Selection.Copy
	End Forall
Call wddoc.Close
Call wd.Quit
Dies kopiert mir den kompletten Text des Dokuments.
Vielleicht kann mir ja jemand hier einen Befehl oder Code-Beispiel nennen, der mir nur den gewünschten Textteil kopiert???
Gruß Manni
« Letzte Änderung: 17.01.08 - 07:12:44 von ManniF »

Offline ZaLudtske

  • Senior Mitglied
  • ****
  • Beiträge: 319
  • Geschlecht: Männlich
  • carpe diem
Re: Text aus MS Word kopieren mit VBA
« Antwort #1 am: 12.09.06 - 15:46:07 »
Hallo,

wie wird das Ende des zu kopierenden Textes markiert?

Durch eine Textmarke?

Rainer
Rainer Zaske

MCSD - C#

Offline ManniF

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Re: Text aus MS Word kopieren mit VBA
« Antwort #2 am: 13.09.06 - 07:27:39 »
Hallo,

ja sorry, hatte ich vergessen zu erwähnen.
Das Ende wird auch durch eine Textmarke markiert.

Mfg Manni
« Letzte Änderung: 17.01.08 - 07:13:00 von ManniF »

Offline ZaLudtske

  • Senior Mitglied
  • ****
  • Beiträge: 319
  • Geschlecht: Männlich
  • carpe diem
Re: Text aus MS Word kopieren mit VBA
« Antwort #3 am: 13.09.06 - 11:07:09 »
Dann sollte es möglich sein über die Eigenschaften Start und End der Bookmarks und einen Range-Objekt (siehe auch Word-Hilfe) den gewünschten Text zu selektieren und übertragen.

Ich hoffe das hilft weiter, wenn nicht bitte melden.

Rainer
Rainer Zaske

MCSD - C#

Offline ManniF

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Re: Text aus MS Word kopieren mit VBA
« Antwort #4 am: 13.09.06 - 11:48:55 »
Hallo,
leider ist die VB-Hilfe bei mir nicht installiert, kann also dort nicht nachschauen.
Vielleicht hast du ein paar Zeilen Beispiel-Script, die mir weiterhelfen können?!?
Muss in Word nur von einer Textmarke A bis zu einer Textmarke B den Text markiert bekommen.

Gruß Manni
« Letzte Änderung: 17.01.08 - 07:13:18 von ManniF »

Offline ManniF

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Re: Text aus MS Word kopieren mit VBA
« Antwort #5 am: 14.09.06 - 09:48:22 »
Halllo,

habe jetzt versucht, folgenden VBA-Code in Script umzuwandeln
Code
oDoc.Range(Start:=oDoc.Bookmarks("A").Range.Start, _
               End:=oDoc.Bookmarks("B").Range.Start).Select
  in:
Code
wddoc.Range(wddoc.Bookmarks("Betreff").Range.Start, wddoc.Bookmarks("Ende").Range.Start).Select

Leider ohne Erfolg. Kann mir wer sagen, was an dem Code noch fehlerhaft ist?

Offline Untitled

  • Senior Mitglied
  • ****
  • Beiträge: 364
    • Musiker24.ch - Musiker und Bands finden
Re: Text aus MS Word kopieren mit VBA
« Antwort #6 am: 14.09.06 - 10:43:14 »
Was gibts denn für eine Fehlermeldung?

Eventuell mal "Call wddoc.Range..."

Ansonsten könnte ich mir vorstellen, das LS mühe hat mit der Klassentiefe. Habe da auch schon Probleme beobachtet, wenn Klassen zu tief angesprochen wurden (zum Bleistift "hauptklasse.unterklasse.unterklasse.methode()").

Versuch mal, zum Beispiel sowas hier (ungetestet):

Code
Dim bmStart as Variant
Dim bmEnd as Variant

Dim rangeStart as Variant
Dim rangeEnd as Variant

Set bmStart = wddoc.Bookmarks("Betreff")
Set bmEnd = wddoc.Bookmarks("Ende")

Set rangeStart = bmStart.Range
Set rangeEnd = bmEnd.Range

wddoc.Range(rangeStart.Start, rangeEnd.Start).Select

Vielleicht entdeckt der Debugger dann auch schon in einer Zeile vorher einen Fehler.

Grüsse
Moritz

Offline ManniF

  • Frischling
  • *
  • Beiträge: 15
  • Geschlecht: Männlich
Re: Text aus MS Word kopieren mit VBA
« Antwort #7 am: 14.09.06 - 11:09:55 »
Hallo,

Super. Es klappt einwandfrei.

Vielen Dank

Mfg Manni
« Letzte Änderung: 17.01.08 - 07:13:35 von ManniF »

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz