via excel een bookmark van word ophalen naar een mail (outlook)

Status
Niet open voor verdere reacties.

Dietn

Gebruiker
Lid geworden
26 aug 2022
Berichten
6
Geachte,

Via onderstaande code kan ik perfect een bepaalde bookmark ophalen van een word document als ik deze code gebruik in vba Word, nadien wordt deze bookmark geplakt in de body van een mail.
Echter zou ik deze code willen gebruiken als ik aan het werk ben in een excel bestand.

Kan iemand mij hiermee verder helpen (vba nog aan het leren:) )

alvast bedankt.



Sub CopyBodyFromWord()

Dim oOutApp As Object
Dim oMailItem As Object
Dim oWordApp As Object
Dim oMailWordDoc As Object
Dim oWorddoc As Object


On Error GoTo CleanUp

Set oWorddoc = Documents.Open("filename")

Selection.GoTo What:=wdGoToBookmark, Name:="bookmarkname"
With ActiveDocument.Bookmarks
.DefaultSorting = wdSortByName
.ShowHidden = False
End With
Selection.Copy

Set oOutApp = CreateObject("Outlook.Application")
Set oMailItem = oOutApp.CreateItem(0)

With oMailItem
.To = test@
.Subject = "test"
.Display
End With

Set oMailWordDoc = oOutApp.ActiveInspector.WordEditor

oMailWordDoc.Application.Selection.Paste

ActiveDocument.Close (wdDoNotSaveChanges)

CleanUp:
Set oMailWordDoc = Nothing
Set oMailItem = Nothing
Set oOutApp = Nothing
Set oWorddoc = Nothing
Set oWordApp = Nothing

End Sub
 
Mijn suggestie in Outlook: met Code Tags !!

Code:
Sub M_snb()
  with getobject("G:\OF\voorbeeld.docx")
    c00=.bookmarks("snb").range
    .close 0
  end with

  with crateObject("Outlook.Application").CreateItem(0)
    .To = "mailadres"
    .Subject = "snb"
    .body=c00
  end with
End Sub
 
Laatst bewerkt:
Geachte,

Bedankt voor de feedback.
Via deze code verlies ik echter de opmaak van de tekst.

Is er geen optie om via excel te werken?

mvg,
 
Deze macro loopt in Excel, maar kan in ieder Officeprogramma uitgevoerd worden
Dus de zin van je vraag ontgaat me.
Mij lijkt overigens de inhoud van de informatie belangrijker dan de vormgeving.
 
Laatst bewerkt:
als ik die code plak in excel/word (NL versie), dan krijg ik geen mail met hierin de bookmark.
wat doe ik hier dan fout?

"crateobject" is gewijzigd naar "createobject".
de andere parameters ook: zoals de locatie van het bestand en de naam van de bookmark
 
Er moet in het Wordbestand dat de macro opent wel een bookmark met inhoud voorkomen.
 
Code:
Sub M_snb()
  with getobject("G:\OF\voorbeeld.docx")
    c00=.bookmarks("snb").range
    .close 0
  end with

  with createObject("Outlook.Application").CreateItem(0)
    .To = "mailadres"
    .Subject = "snb"
    .body=c00
    .send
  end with
End Sub
 
de bookmark staat/stond er in.


. send of .display heb/had ik nog nodig zodat het mailadres eventueel nog gewijzigd kan worden.

bedankt voor je hulp!!!
 
Dat kun je beter vooraf doen dan tijdens het lopen van de macro.
 
ok bedankt.

de reden dat ik graag de opmaak van de tekst had behouden: er staan hyperlinks in de tekst van de bookmark (alsook delen in fluo) en als ik dit gewoon plak, dan verlies ik de hyperlink.
 
Volgens mij heb ik de oplossing:

Sub CopyBookmarkToOutlook()


Dim oOutApp As Object
Dim oMailItem As Object
Dim oMailWordDoc As Object
Dim oworddoc As Object




On Error GoTo CleanUp




Set oworddoc = Documents.Open("test.docx")
oworddoc.Activate
ActiveDocument.ActiveWindow.Selection.Goto What:=wdGoToBookmark, Name:="bookmarkname"
oworddoc.Application.Selection.Copy




Set oOutApp = CreateObject("Outlook.Application")
Set oMailItem = oOutApp.CreateItem(0)



With oMailItem
'.To = "test"
.Subject = "test"
.BCC = "test@"
.Display

End With


Set oMailWordDoc = oOutApp.ActiveInspector.WordEditor
oMailWordDoc.Application.Selection.Paste
ActiveDocument.Close (wdDoNotSaveChanges)


CleanUp:
Set oMailWordDoc = Nothing
Set oMailItem = Nothing
Set oOutApp = Nothing
Set oworddoc = Nothing


End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan