Jennifer1973
Nieuwe gebruiker
- Lid geworden
- 27 sep 2006
- Berichten
- 1
Hoi
Ik heb een vraagje mbt het plakken van tekst in een word-bookmark.
Het idee is dat ik in Excel een blok selecteer en dit in Word in een bookmark plaats.
De status is dat ik wel een bookmark in Word geplaatst krijg. Ook is het gelukt om het Excel-blok in Word te plakken. Het lukt me echter niet om de geimporteerde tekst te benaderen middels de bookmark. Achterliggende gedachte: ik wil middels de bookmark refereren aan de geimporteerde tekst zodat ik lettertype, tabinstellingen, etc, kan wijzigen.
Ik heb het vermoeden dat het probleem zit in het positiebookmarks en gebiedsbookmarks.
Het selecteren van het in Word geimporteerde gebied en dit toewijzen aan een gebiedsbookmark is hetgeen nu niet goed gaat.
Kan iemand me misschien verder helpen?
Ik heb het overigens ook al geprobeerd op te lossen via een dynamische koppeling tussen word en excel, maar vanwege een in de weg zitten document management systeem, lukt dit niet.
Dank
Hieronder staat de code die zich in Excel bevindt.
Sub test(strStart As String, strEind As String, ByRef oWordDoc, ByRef oWordapp, intAantalKolommen As Integer)
Range(Range(strStart), Range(strEind).Offset(-1, intAantalKolommen)).Copy
oWordapp.Selection.PasteAndFormat (wdFormatPlainText)
oWordapp.Selection.Bookmarks.Add Range:=oWordapp.Selection.Range, Name:=strStart
oWordapp.Selection.InsertParagraphAfter
oWordapp.Selection.MoveRight Unit:=wdCharacter, Count:=1
End Sub
Public Sub Create_Word_Report()
On Error GoTo errorHandler
Const wdWindowStateMaximize As Integer = 1
Dim WordDoc As Word.Document
Dim wordapp As Word.Application
Set wordapp = CreateObject("Word.Application")
With wordapp
.Visible = True
.WindowState = wdWindowStateMaximize
.Documents.Add
Set WordDoc = .ActiveDocument
End With
WordDoc.ActiveWindow.View = wdPrintView
wordapp.Selection.Font.Size = 8
wordapp.Selection.Font.Name = "Arial"
wordapp.Selection.Font.Underline = False
Worksheets("Termsheet").Select
' KOP en BESTAAND zijn cellen in Excel met als naam KOP en BESTAAND. A1 = KOP en A3 = BESTAAND
test "KOP", "BESTAAND", WordDoc, wordapp, 1
'test "BESTAAND", "DEBITEUR0", WordDoc, wordapp, 1
'test "DEBITEUR0", "DEBALG0", WordDoc, wordapp, 1
'test "DEBALG0", "DEBRATING0", WordDoc, wordapp, 3
'test "DEBRATING0", "DEBRELCOMPL0", WordDoc, wordapp, 6
'etc.
wordapp.Selection.WholeStory
With wordapp.Selection.ParagraphFormat
.LeftIndent = CentimetersToPoints(-2)
.SpaceBeforeAuto = False
.SpaceAfterAuto = False
End With
With wordapp.Selection.ParagraphFormat
.RightIndent = CentimetersToPoints(-2.26)
.SpaceBeforeAuto = False
.SpaceAfterAuto = False
End With
wordapp.Selection.HomeKey Unit:=wdStory
ok_exit:
Set WordDoc = Nothing
Set wordapp = Nothing
Exit Sub
errorHandler:
MsgBox ("Er is een fout opgetreden tijdens het overzetten van het KC-Termsheet richting Word")
Set WordDoc = Nothing
Set wordapp = Nothing
End Sub

Ik heb een vraagje mbt het plakken van tekst in een word-bookmark.
Het idee is dat ik in Excel een blok selecteer en dit in Word in een bookmark plaats.
De status is dat ik wel een bookmark in Word geplaatst krijg. Ook is het gelukt om het Excel-blok in Word te plakken. Het lukt me echter niet om de geimporteerde tekst te benaderen middels de bookmark. Achterliggende gedachte: ik wil middels de bookmark refereren aan de geimporteerde tekst zodat ik lettertype, tabinstellingen, etc, kan wijzigen.
Ik heb het vermoeden dat het probleem zit in het positiebookmarks en gebiedsbookmarks.
Het selecteren van het in Word geimporteerde gebied en dit toewijzen aan een gebiedsbookmark is hetgeen nu niet goed gaat.
Kan iemand me misschien verder helpen?
Ik heb het overigens ook al geprobeerd op te lossen via een dynamische koppeling tussen word en excel, maar vanwege een in de weg zitten document management systeem, lukt dit niet.
Dank

Hieronder staat de code die zich in Excel bevindt.
Sub test(strStart As String, strEind As String, ByRef oWordDoc, ByRef oWordapp, intAantalKolommen As Integer)
Range(Range(strStart), Range(strEind).Offset(-1, intAantalKolommen)).Copy
oWordapp.Selection.PasteAndFormat (wdFormatPlainText)
oWordapp.Selection.Bookmarks.Add Range:=oWordapp.Selection.Range, Name:=strStart
oWordapp.Selection.InsertParagraphAfter
oWordapp.Selection.MoveRight Unit:=wdCharacter, Count:=1
End Sub
Public Sub Create_Word_Report()
On Error GoTo errorHandler
Const wdWindowStateMaximize As Integer = 1
Dim WordDoc As Word.Document
Dim wordapp As Word.Application
Set wordapp = CreateObject("Word.Application")
With wordapp
.Visible = True
.WindowState = wdWindowStateMaximize
.Documents.Add
Set WordDoc = .ActiveDocument
End With
WordDoc.ActiveWindow.View = wdPrintView
wordapp.Selection.Font.Size = 8
wordapp.Selection.Font.Name = "Arial"
wordapp.Selection.Font.Underline = False
Worksheets("Termsheet").Select
' KOP en BESTAAND zijn cellen in Excel met als naam KOP en BESTAAND. A1 = KOP en A3 = BESTAAND
test "KOP", "BESTAAND", WordDoc, wordapp, 1
'test "BESTAAND", "DEBITEUR0", WordDoc, wordapp, 1
'test "DEBITEUR0", "DEBALG0", WordDoc, wordapp, 1
'test "DEBALG0", "DEBRATING0", WordDoc, wordapp, 3
'test "DEBRATING0", "DEBRELCOMPL0", WordDoc, wordapp, 6
'etc.
wordapp.Selection.WholeStory
With wordapp.Selection.ParagraphFormat
.LeftIndent = CentimetersToPoints(-2)
.SpaceBeforeAuto = False
.SpaceAfterAuto = False
End With
With wordapp.Selection.ParagraphFormat
.RightIndent = CentimetersToPoints(-2.26)
.SpaceBeforeAuto = False
.SpaceAfterAuto = False
End With
wordapp.Selection.HomeKey Unit:=wdStory
ok_exit:
Set WordDoc = Nothing
Set wordapp = Nothing
Exit Sub
errorHandler:
MsgBox ("Er is een fout opgetreden tijdens het overzetten van het KC-Termsheet richting Word")
Set WordDoc = Nothing
Set wordapp = Nothing
End Sub