Avatar billede svel Nybegynder
03. september 2007 - 13:37 Der er 4 kommentarer

DocumentMap vil ikke åbne automatisk i Document_Open()

Hej til alle eksperter !

(mit første spørgsmål)

Jeg har prøvet at skrive en Word 2003 macro til en af afdelings skabeloner. Macro skulle have den funktion i at åbne "Document Map" (altså som i View -> Document Map) automatisk hver gang man opretter et nyt dokument baserede på skabelonen.

Jeg har sæt den op sådan:

Private Sub Document_Open()
ActiveWindow.DocumentMap = True
End Sub

og placerede den i skabelonens ThisDocument modul.

Skabelonen har jeg så gemt som .dot i stigen definerede i "Options, File Locations, User templates".

Så langt, så godt.

Men, når brugerner starter skabelonen (dvs. File, New, from template on my computer) får de fejlmeddelsen om "Run-time error '91': Object variable or With block variable not set".

Jeg har sæt alles sikkerheds niveau til "Medium" (fra tools, macros, security).

Lidt hjælp vil være dejligt !!

på forhånd mange tak.
Avatar billede rvm Nybegynder
03. september 2007 - 14:10 #1
Hej

Jeg ved ikke hvorfor du får fejl, men hvis du vil have makroen skal køre, når der laves et nyt dokument på baggrund af skabelonen, så skal du bruge:


Private Sub Document_New()
  ActiveWindow.DocumentMap = True
End Sub
Avatar billede word-hajen Nybegynder
03. september 2007 - 19:44 #2
Har du anden kode i skabelonen? For umiddelbart er der intet galt med det, du har gjort.

Men vær dog - som rvm skriver - opmærksom på, at du har lagt koden på Open-eventet. Det er i og for sig godt nok, hvis du også vil have, at DocumentMap altid bliver vist, når et dokument baseret på den skabelon bliver åbnet igen. Men hvis du skal have den til at slå til, når dokumentet bliver oprettet, foregår det som rvm skriver.
Avatar billede svel Nybegynder
04. september 2007 - 08:49 #3
Hej igen,

Mange tak for de hurtige svar ! Ja, word-hajen, jeg har lidt mere kode i macroen men tænkt at det var måske for meget. Jeg placerede koden i Open fordi - som du skriver - jeg vil have at Document Map bliver altid vist, også når dokumentet bliver åbnet igen (som navigationshjælp). Jeg tilføjede resten af koden så brugerner husker at udfylde meta-data, etc.etc. inden dokumentet laves om til .pdf. Mange tak for hjælpen !

Her er hele macro kode:

Private Sub Document_Open()
      ActiveWindow.DocumentMap = True
'
' Here the standard document options are set
'
      With Options
        .LocalNetworkFile = False
        .AllowFastSave = False
        .BackgroundSave = True
        .CreateBackup = False
' property for user to be prompted to save document metadata
        .SavePropertiesPrompt = True
'
        .SaveInterval = 10
        .SaveNormalPrompt = False
        .DisableFeaturesbyDefault = False
    End With
    With ActiveDocument
' property for document to embed all fonts used
        .EmbedTrueTypeFonts = True
'
        .SaveFormsData = False
        .SaveSubsetFonts = False
        .DoNotEmbedSystemFonts = True
        .Password = ""
        .WritePassword = ""
        .DisableFeatures = False
        .EmbedSmartTags = True
        .SmartTagsAsXMLProps = False
        .EmbedLinguisticData = True
    End With
' property for document to be saved in .doc format
    Application.DefaultSaveFormat = ""
'
End Sub
Avatar billede word-hajen Nybegynder
04. september 2007 - 10:58 #4
Der er stadig intet galt med din kode. Hvad har du liggende på Document_New-eventet?

Har du prøvet selv at fejlsøge ved at steppe igennem koden? (så du evt. kan se, hvor det går galt).
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Tag et kursus i Word og øg effektiviteten

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester