| |

Visual-Basic EinsteigerWord mit VB | |  | Autor: nicki | Datum: 09.11.02 16:53 |
| Hi, könnt Ihr mir helfen?
Ich will von einem Worddokument einen Bereich kopieren und in eine anderes Dokument einfügen.
Doch das klappt einfach nicht. Ich steuere dies aus VB heraus, doch lasse die Dokumente unsichtbar.
Ist das vielleicht das Problem?
Ich habe folgenden Quelltext.
Dies hab ich im Startformular "frmindex":
Set wdAppl = New Word.Application
If wdAppl Is Nothing Then
lngresult = MsgBox("Word kann nicht gestartet werden," & vbCrLf & "oder ist nicht installiert !", vbCritical, " Word Anwendungsfehler")
Exit Sub
End If
Set wdDocm = wdAppl.Documents.Open( _
FileName:="C:\Massnahmen.doc", _
ConfirmConversions:=False, _
ReadOnly:=False, _
AddToRecentFiles:=False, _
PasswordDocument:="", _
PasswordTemplate:="", _
Revert:=False, _
WritePasswordDocument:="", _
WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto, _
Visible:=False)
In einer anderen Form, wo das kopieren und einfügen ausgelöst wird, steht folgendes:
Dim wdimport As Word.Document
Set wdimport = frmindex.wdAppl.Documents.Open( _
FileName:="" & Me.pfad & "", _
ConfirmConversions:=False, _
ReadOnly:=False, _
AddToRecentFiles:=False, _
PasswordDocument:="", _
PasswordTemplate:="", _
Revert:=False, _
WritePasswordDocument:="", _
WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto, _
Visible:=False)
Dim mRange As Word.Range
Dim rechteck As Word.Shape
Dim r As Range
... unwichtigen Teil hab ich ausgelassen
Do Until durchl = 0
shapedaa = 0
For Each oSH In wdimport.Shapes
If oSH.Name = "start" & rhh!id & "" Then
shapedaa = 1
End If
Next
If shapedaa = 1 Then
''''''''''''''''''
'Einfügen
'Alte Einträge löschen (hier will er ebenfals das delete nicht machen doch warum?)
Set mRange = frmindex.wdDocm.Range( _
Start:=frmindex.wdDocm.Shapes("Start " & rhh!id & "").Anchor.Paragraphs(1).Range.Start, _
End:=frmindex.wdDocm.Shapes("Ende " & rhh!id & "").Anchor.Paragraphs(1).Range.End)
mRange.ShapeRange("Start " & rhh!id & "").delete
mRange.Paragraphs(1).Range.delete
mRange.ShapeRange("Ende " & rhh!id & "").delete
mRange.delete
'neue anlegen
Set r = frmindex.wdDocm.Paragraphs(1).Range
r.InsertBefore vbCrLf & vbCrLf & vbCrLf & vbCrLf
Set r = frmindex.wdDocm.Paragraphs(1).Range
Set rechteck = frmindex.wdDocm.Shapes.AddShape(1, 5, 1, 500, 18, r)
rechteck.Name = "Start " & rhh!id & ""
rechteck.LockAnchor = True
Set r = frmindex.wdDocm.Paragraphs(3).Range
Set rechteck = frmindex.wdDocm.Shapes.AddShape(1, 5, 1, 500, 18, r)
rechteck.Name = "Ende " & rhh!id & ""
rechteck.LockAnchor = True
'''''''''''''''''
'##############
Set mRange = wdimport.Range( _
Start:=wdimport.Shapes("start" & rhh!id & "").Anchor.Paragraphs(1).Range.Start, _
End:=wdimport.Shapes("ende" & rhh!id & "").Anchor.Paragraphs(1).Range.End)
mRange.Copy
'##############
Set r = frmindex.wdDocm.Paragraphs(2).Range
r.Paste '(funktioniert nicht, aber warum?)
End If
Loop
End If
Ich versteh einfach nicht, woran es liegen kann.
Ich danke Euch für jede Hilfe.
Gruß
Nick |  |
 Word mit VB | 71 | nicki | 09.11.02 16:53 |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
Neu! sevCommand 4.0 
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|