Avatar billede boligkode Nybegynder
30. oktober 2007 - 12:27 Der er 15 kommentarer og
1 løsning

At fange makro gemt i Startbibliotek

Jeg mente, at det fungerede - og nu gør det ikke alligevel, øv.

Har lavet en makro med dialogboks mm. i en fil (dotm). Denne makro placerer informationer i reg.databasen (hvis nødvendigt) - samt indplacere standardoplysninger i et brev (som modtager, adresse, by, att osv).

Denne fil er gemt her:
C:\Documents and Settings\Bruger\Application Data\Microsoft\Word\START

Dernæst har jeg lavet en skabelon, som skal starte denne makro op som en Document_New()-funktion.

Når jeg starter skabelonen, starter den desværre ikke makroen op ved følgende sub:

Private Sub Document_New()
Application.Run "Makronavn"
End Sub

Hvad gør jeg mon galt? Hvis jeg ændre makroen til 'Document_Open' og åbner skabelonen som document (og ikke som skabelon) så bliver dialogboksen startet op.

Dernæst: Når makroen starter op er hensigten at den skal placere oplysninger i det aktive document (altså resultat af skabelonen). Hvordan får jeg makroen til at sætte oplysninger ind i det active document. (det er nemlig ikke lykkes for mig)
Avatar billede peter.erikse Nybegynder
30. oktober 2007 - 13:09 #1
Du skal bare sætte makroen ind i Dokument_New(). (Det må ikke være en form. Hvis det er må du kalde formen herfra)
Avatar billede boligkode Nybegynder
30. oktober 2007 - 15:12 #2
Tak for kommentar.

Ideen med konstruktionen var ment til at være, at man får frihed til at ændre struktur i dialogboks mm uafhængigt af skabelonen (eller skabelonerne) - idet antallet af skabeloner hurtigt kan få et stort antal.

Og ja - der er jo netop en userform i filen som ligger i ....\START-biblioteket

Eller har jeg misforstået noget?
Avatar billede word-hajen Nybegynder
30. oktober 2007 - 17:20 #3
Nej, du har ikke misforstået noget.

Har du haft Word lukket efter at du har placeret den globale skabelon i start-folderen? (startfolderen kan i øvrigt ændres til at pege et andet sted hen, hvis det er mere hensigtsmæssigt; det kan det være, når du skal have det rullet ud til dine kolleger - men det er en helt anden snak)

Og umiddelbart har du heller ikke gjort noget galt. Jeg tænkte først på, om det evt. var dine sikkerhedsindstillinger, der drillede, men hvis du ellers får dialogboksen rigtig i luften på anden vis, bør det ikke være der. Men tjek lige for en sikkerheds skyld og meld tilbage, hvad dit sikkerhedsniveau er sat til.

Mht. at placere oplysninger i det aktive dokument... har du indsat bogmærker der, hvor du vil have oplysningerne ind? I så fald kan du bruge:

ActiveDocument.Bookmarks("adresse").Range.Text = me.txtAdresse

Du skal selvfølgelig udskifte bogmærkenavn og navn på kontrol, så det stemmer overens med dine bogmærker/kontroller.
Avatar billede boligkode Nybegynder
30. oktober 2007 - 21:11 #4
Tak for kommentar, Word-hajen.

Sikkerhedsindstillingerne er:
1) Indstillinger for makroer, der er vips i: Aktiver alle makroer
2) Indstilinger for udviklermakro, der er vips i: Hav tillid til VBA-projektobjek...

Jeg havde glemt, at nævne at jeg i dialogboksen anvender fane-opdeling. Dvs. den ene fane og commandbuttom til opdatering af reg.database - og en fane og commandbuttom til opdatering af skabelonen.

Men i dotm-filen i Start-bibl. ligger alt kode i userformen, hvor modulen blot laver en .show af userformen.

Så vidt jeg kan se har jeg ikke anført 'Text' efter i det følgende:
'..("adresse").Range.Text ='

Dette kan jeg selvfølgelig rette. Men det undre mig, at makroen ikke starter i Document_New()-funktionen! Øv.
Avatar billede word-hajen Nybegynder
30. oktober 2007 - 21:14 #5
Det undrer også mig. Du må gerne sende dine 2 filer til mig, så kigger jeg lige på dem.

lemontree snabelting jubii dot dk
Avatar billede boligkode Nybegynder
30. oktober 2007 - 21:14 #6
Eksempel på formel til at skrive i actice dokument:
If ActiveDocument.Bookmarks.Exists("TilNavn") = True Then
ActiveDocument.Bookmarks("TilNavn").Range.Text = Me.TextBoxTilNavn
End If
Avatar billede boligkode Nybegynder
30. oktober 2007 - 21:33 #7
Filerne sendt.............
Avatar billede word-hajen Nybegynder
30. oktober 2007 - 21:47 #8
Ikke modtaget noget :-(
Avatar billede word-hajen Nybegynder
30. oktober 2007 - 21:58 #9
Har fået filerne.
Avatar billede word-hajen Nybegynder
30. oktober 2007 - 22:04 #10
2 ting:

I din "almindelige" skabelon har du placeret koden i Document_Open. Den skal placeres i Document_New.

I den globale skabelon har du gjort den procedure, som du forsøger at kalde, til Private. Dvs. at den kun kan findes inden for modulet. Lav den om til Public.
Avatar billede boligkode Nybegynder
30. oktober 2007 - 22:24 #11
Simpelthen super.

1) Yep med Document_Open. Glemt at rette den tilbage efter lidt test.

2) Hjalp med Public. Det er bare super. Skal makroer i userform ligeledes være Public (det har jeg gjort i første omgang) eller er det blot den i module?

Fik den også lige til at lukke dialogboks ned og rettet dato til.

Tusind tak.
Avatar billede word-hajen Nybegynder
30. oktober 2007 - 22:32 #12
1) Tænkte jeg nok :-)

2) Det er kun kode, der skal kunne kaldes andre steder fra (andre moduler, forms osv.), der skal være Public. Dvs. at kode på en userform skal være Private, idet det alene er formen, der kan/skal benytte den.

Og velbekomme.
Avatar billede boligkode Nybegynder
30. oktober 2007 - 22:33 #13
Læg et svar. Og tusind tak for hjælpen.

Nb.
Plejer man ikke i skabeloner at kunne 'springe mellem felterne'?
Hvad er genvejstaste/erne til at starte en skabelon?
Avatar billede word-hajen Nybegynder
31. oktober 2007 - 07:28 #14
Jo, man plejer at kunne springe fra felt til felt i et dokument, men du har brugt de nye såkaldte Content Controls, hvor man kun kan "springe", hvis man har beskyttet dokumentet som en formular.

Hvis du indsætter de "gammeldags" kontroller, vil du kunne bruge F11 til at springe mellem dine felter.

Der findes ingen genvejstast til at danne et nyt dokument på baggrund af en skabelon, ud over Ctrl+N, som danner et nyt dokument baseret på Normal.dotm. Hvis du vil have genvejstaster til andre skabeloner, skal du selv kode og lave genvejstast.

Jeg har tidligere forstået på dig, at I har en del skabeloner og så bliver det vel en smule uoverskueligt med genvejstaster. Har du overvejet i stedet at lave en menu/knap med jeres skabeloner? Det kan du jo placere i den globale skabelon, som du allerede har og på den måde få strikket det hele sammen.
Avatar billede boligkode Nybegynder
31. oktober 2007 - 07:52 #15
Så kan jeg bedre forstå det - altså at F11 ikke virkede.

I den nye word har man jo en 'Hurtig Adgangsknap' til Words skabeloner, derefter får man en dialogboks med Microsofts standardfaner (øv - kan ikke finde ud af at få dem væk - uden at flytte/slette disse). Jeg tænkte blot om der ligesom Ctrl+N var en tilsvarende til denne dialogboks (kunne heller ikke finde den).

Men det kan godt være, at jeg ender med at skulle lave en menu - evt kategoriseret via faner eller på anden måde. Kan du evt. give et praj om hvor man kunne finde et eksempel på dette?

Du var tidligere inde på, at det måske kunne være hensigtsmæssigt at henvise START til et andet sted. Det kan jeg godt se, at det ville jo give store fordele for 'udvikleren/vedligeholderen' af systemet. Hvilke væsentlige bagdele har du erfaring med - udover at brugeren måske ikke lige har adgang til drevet (arbejder hjemme uden opkobling osv)?

Øv - det blev til en masse spørgsmål. Undskyld og i øvrigt tak for en fantastisk hjælp.
Avatar billede word-hajen Nybegynder
31. oktober 2007 - 17:01 #16
Når du skal placere skabeloner, og det gælder både "alm." og dem, der skal indlæses ved start (globale), skal du tage stilling til, om brugerne skal kunne benytte dem lokalt. Og det skal de så.

Jeg vil derfor anbefale, at du bestemmer 2 foldere på brugerens pc, som indeholder skabelonerne (1 til de alm., og 1 til globale). De må ikke være underfoldere til hinanden. Få Word til at pege på de 2 foldere (den ene er arbejdsgruppeskabeloner, den anden er startfolderen). Placér skabelonerne på jeres netværk og sørg for, at disse synkroniseres automatisk ud til brugerne, f.eks. ved logon.

Ingen deciderede ulemper, ud over at der skal være en synkronisering der fungerer.

Hvis du vil lave dine egne menuer/knapper i Båndet/Ribbon, skal du finde og downloade Custom UI Editor, som hjælper dig med at lave den xml-struktur, der skal til.
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



IT-JOB