Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1956to1960
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

BuildingBlockEntries as Excel heraus

BuildingBlockEntries as Excel heraus
08.12.2023 08:54:45
Peter Zimmermann
Hallo,
ich habe folgendes Problem.
Ausgangslage:
Ich habe Word-Vorlage mit Makro. Das Makro der Wordvorlage ruft sofort beim öffnen ein Formular auf, in dem ein paar Grunddaten eingegeben und ein paar Häckchen gesetzt werden, im nächsten Schritt wird daraus dann ein Brief mit bestimmten Textblöcken zusammengestellt, je nachdem, welche Häckchen gesetzt wurden. Ich muss dazu sagen, dass die Person, welche die Wordvorlage/Makros erstellt hat, nicht mehr zur Verfügung steht. Ich kann die Wordvorlage selbst auch nicht direkt ändern, da ich beim Abspeichern die Signatur des Erstellers verliere und das Makro dann nicht mehr ausgeführt wird.

Projekt:
Jetzt möchte ich die Grunddaten gerne speichern, damit ich die nicht immer neu eingeben muss. Dazu habe ich mir eine Exceltabelle gemacht. Die Wordvorlage mit Makro habe ich in eine normale Word-Vorlage umgewandelt. Das ursprüngliche Formular des Wordmakros habe ich einfach in Excel geladen, das funktioniert im wesentlichen auch. Im Wordmakro (Das ist nicht selber programmiert habe) wird dann zur weiteren Verarbeitung folgendes aufgerufen:



Dim objDoc as Word.Document, oTemplate as Word.Template

Public Sub Template()
strPfad = ThisWorkbook.Path & "\BUT-AFS2023.dotx"
If oWordApp Is Nothing Then Set oWordApp = CreateObject("Word.Application")
Set objDoc = oWordApp.Documents.Add(strPfad)
If ActiveDocument.AttachedTemplate > NormalTemplate Then
Set oTemplate = ActiveDocument.AttachedTemplate
End If
End Sub

Private Sub eintägig()
Call Template
'Schnellbausteine einfügen
If CheckBox1 = True Then
oWordApp.Selection.GoTo What:=wdGoToBookmark, Name:="eintägig"
Application.WindowState = wdWindowStateMaximize
oTemplate.BuildingBlockEntries("eintägig").Insert Where:=Selection.Range ', RichText:=True
Else
oWordApp.Selection.GoTo What:=wdGoToBookmark, Name:="eintägig"
ActiveDocument.Bookmarks("eintägig").Delete
oWordApp.Selection.Delete Unit:=wdCharacter, Count:=3
End If

'Textmarke löschen, wenn der Baustein nicht benötigt wird
If CheckBox1 = False Then
oWordApp.Selection.GoTo What:=wdGoToBookmark, Name:="E1"
oWordApp.Selection.Delete
End If
End Sub


In der Zeile
oTemplate.BuildingBlockEntries("eintägig").Insert Where:=Selection.Range ', RichText:=True
kommt dann aber die Fehlermeldung 450 "Falsche Anzahl von Argumenten oder ungültige Zuweisung einer Eigenschaft"
Was mache ich falsch?

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: BuildingBlockEntries as Excel heraus
08.12.2023 11:04:52
Peter Zimmermann
Was ich vergessen habe zu erwähnen, oben genannter Code stammt aus Word, wird aber in Excel ausgeführt.
Die Public Sub Template() habe ich bereits entsprechend angepasst, die Private Sub eintägig() NICHT.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige