Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Word-Objektbibiliothek hinzufügen/einbetten?

Forumthread: Word-Objektbibiliothek hinzufügen/einbetten?

Word-Objektbibiliothek hinzufügen/einbetten?
05.02.2019 15:35:45
Anja
Liebe alle,
ich möchte meinen VBA Code gerne für alle aus meiner Firma zugänglich machen, indem sie nur noch einen Button in Excel anklicken müssen, der Rest (Erstellen von einzelnen Serienbriefen) soll automatisch funktionieren.
Mein VBA-Code funktioniert auf meinem Rechner, aber nicht auf denen der Kollegen.
Ich habe mir die Word Objektbibliothek hinzugefügt, die anderen wohl nicht. Sie können das leider auch nich :(
Kann ich die Objektbibiliothek irgendwie in VBA einbinden, so dass sie das nicht selbst hinzufügen müssen? Denn spätestens wenn sie Alt+F11 gedrückt haben bekommen sie Angst und machen alles wieder zu....
Hier mein bei mir funktionierender Code:

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Dim StrMMSrc As String, StrMMDoc As String, StrMMPath As String, StrName As String
Dim i As Long, j As Long
Const StrNoChr As String = """*./\:?|"
Dim wdApp As New Word.Application, wdDoc As Word.Document
wdApp.Visible = False
wdApp.DisplayAlerts = wdAlertsNone
StrMMSrc = ThisWorkbook.FullName
StrMMPath = ThisWorkbook.Path & "\"
StrMMDoc = StrMMPath & "abc.docx"
Set wdDoc = wdApp.Documents.Open(Filename:=StrMMDoc, AddToRecentFiles:=False, ReadOnly:=True,    _
_
_
_
_
Visible:=False)
With wdDoc
With .MailMerge
.MainDocumentType = wdFormLetters
.OpenDataSource Name:=StrMMSrc, ReadOnly:=True, AddToRecentFiles:=False, _
LinkToSource:=False, Connection:="Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;" & _
"Data Source=StrMMSrc;Mode=Read;Extended Properties=""HDR=YES;IMEX=1"";", _
SQLStatement:="SELECT * FROM `Sheet1$` where (Anz>0)"
For i = 1 To .DataSource.RecordCount
.Destination = wdSendToNewDocument
.SuppressBlankLines = True
With .DataSource
.FirstRecord = i
.LastRecord = i
.ActiveRecord = i
If Trim(.DataFields("ID")) = "" Then Exit For
StrName = .DataFields("ID")
End With
.Execute Pause:=False
For j = 1 To Len(StrNoChr)
StrName = Replace(StrName, Mid(StrNoChr, j, 1), "_")
Next
StrName = Trim(StrName)
With wdApp.ActiveDocument
.SaveAs Filename:=StrMMPath & StrName & ".docx", FileFormat:=wdFormatXMLDocument,  _
AddToRecentFiles:=False
.Close SaveChanges:=False
End With
Next i
.MainDocumentType = wdNotAMergeDocument
End With
.Close SaveChanges:=False
End With
wdApp.DisplayAlerts = wdAlertsAll
wdApp.Quit
Set wdDoc = Nothing: Set wdApp = Nothing
Application.ScreenUpdating = False
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Word-Objektbibiliothek hinzufügen/einbetten?
05.02.2019 15:43:02
Nepumuk
Hallo Anja,
das einbinden der Word-Bibliothek ist unnötig. Binge mal nach "Late Binding".
Wenn du nicht weiterkommst, dann melde dich nochmal.
Gruß
Nepumuk
Late Binding
05.02.2019 15:44:15
ChrisL
Hi
Hier Links zum Thema Late Binding:
(im Link steht zwar Access, aber zufällig ist es ein Beispiel mit Word)
http://www.access-im-unternehmen.de/601
https://wordmvp.com/FAQs/InterDev/EarlyvsLateBinding.htm
cu
Chris
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige