| |

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 | 72 | 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 |
  |
|
TOP! Unser Nr. 1 
Neu! sevDataGrid 3.0
Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|