Salvestatud makro esilehel kuvada sisestamiseks Word 2007 käivitamisel kuvatakse tõrketeade: "kogumine taotletud liige pole olemas"


Sümptomid


Kujutage ette järgmist stsenaariumi. Microsoft Office Word 2007 dokumendi esilehel kuvada sisestamiseks makro salvestada. Seejärel käivitate salvestatud makro. Selle stsenaariumi puhul on lisatud esilehel kuvada. Lisaks kuvatakse järgmine tõrketeade:
Käitustõrge '5941':

Kogu nõutud liige pole olemas.

Lahendus


Microsoft pakub programmeerimisnäiteid ainult artikli illustreerimiseks ilma igasuguse otsese või kaudse garantiita. See hõlmab, kuid ei piirdu kaudseid garantiisid turustatavuse või kindlaks otstarbeks sobivusega. See artikkel eeldab, et olete demonstreeritava programmeerimiskeelega programmeerimise keel ning luua protseduuride ja silumiseks kasutatavate tööriistadega tuttav. Microsofti tugitehnikud võivad aidata mõne konkreetse protseduuri funktsiooni selgitada, kuid ei muuda nad neid näiteid lisafunktsioonide pakkumiseks ega Koosta vastavaid protseduure teie konkreetsetele nõuetele.

Selle probleemi lahendamiseks kirjutada salvestatud makro kasutada malle klassi.

Selleks rakenduses Word 2007 toimige järgmiselt.
  1. Klõpsake oleku Makro esitada.
  2. Makro nimivalige salvestatud makro ja klõpsake siis nuppu Redigeeri.
  3. Asendage salvestatud makrokood makrode koodi, mis sarnaneb järgmine makrokood:
    Sub Macro1()
    For Each mytemplate In Templates
    If mytemplate.Name = "Building Blocks.dotx" Then _
    mytemplate.BuildingBlockEntries("Pinstripes").Insert Where:=Selection.Range, RichText:=True
    Next

    End Sub

    Märkus. Kui soovite kasutada erinevate esilehel kuvada, asendage "Pinstripes" esilehel kuvada soovitud nimi.
  4. Klõpsake menüü fail sulgeda ja naasta Microsoft Wordi.

Lisateabe saamiseks


Kui salvestate makro programmis Word 2007 "Pinstripes" esilehel kuvada, Word 2007 kirjeid lisada järgmine makrokood:
Sub Macro1()'
' Macro1 Macro
'
'
ActiveDocument.AttachedTemplate.BuildingBlockEntries( _
"PlaceholderAutotext_0").Insert Where:=Selection.Range, RichText:=True
ActiveDocument.AttachedTemplate.BuildingBlockEntries( _
"PlaceholderAutotext_1").Insert Where:=Selection.Range, RichText:=True
ActiveDocument.AttachedTemplate.BuildingBlockEntries( _
"PlaceholderAutotext_2").Insert Where:=Selection.Range, RichText:=True
ActiveDocument.AttachedTemplate.BuildingBlockEntries("Pinstripes").Insert _
Where:=Selection.Range, RichText:=True
End Sub