Avatar billede frkolsen Nybegynder
10. marts 2002 - 21:22 Der er 25 kommentarer og
1 løsning

Makro til dato + 0-6 dage

Jeg har lavet en skabelon til et nyhedsbrev som alle læsere af brevet også skal kunne skrive i. Nyhedsbrevet skal udkomme ugentligt – altid på samme ugedag.

I brevhovedet er bl.a. et  datofelt. Nu ku’ det, af hensyn til den der skrev et indlæg, være blæret om feltet i stedet for dags dato viste udgivelsesdatoen + evt. udgivelsesdatoens ugenummer.

Kan man ordne den sag med en makro? Og hvilken. Jeg skal lige sige at jeg har større erfaring i at slette end i at skrive makroer.
Avatar billede frkolsen Nybegynder
11. marts 2002 - 10:58 #1
Kan det _ikke_ lade sig gøre eller har jeg budt for lavt i point?
Måske skal man i stedet importere et formelresultat fra Excel???
Jeg vil gerne hæve til 60 point hvis det kan hjælpe.
Avatar billede Slettet bruger
11. marts 2002 - 14:43 #2
Prøv at indsætte et andet datofelt, som f.eks. CREATEDATE, EDITTIME, SAVEDATE. Disse findes under Indsæt Felt, under options kan du selv bestemme hvordan datofeltet skal være, f.eks. år måned dag osv.
\\AMH
Avatar billede rvm Nybegynder
11. marts 2002 - 19:04 #3
Her er koden til ugenummeret og en dato:

Jeg vill indsætte bogmærke i sidehovedet, der hedder her "Her" og kalde min makro for AutoNew (så kører den kun når der oprettes et dokumetn på bagggrund af en skabelone):

Sub AutoNew()
    svar = Date & " Ugenr: " & Office.MsoCondition.msoConditionThisWeek
    ActiveDocument.Bookmarks("Her").Select
    Selection.TypeText svar:=svar
End Sub

Held og lykke *S*
Avatar billede rvm Nybegynder
11. marts 2002 - 19:11 #4
Ups

Jeg glemte lige at medtage i koden at, hvis det skal stå i sidehovedet:

Sub AutoNew()

    'åbner sidehovedet
    If ActiveWindow.View.SplitSpecial <> wdPaneNone Then
        ActiveWindow.Panes(2).Close
    End If
    If ActiveWindow.ActivePane.View.Type = wdNormalView Or ActiveWindow. _
        ActivePane.View.Type = wdOutlineView Then
        ActiveWindow.ActivePane.View.Type = wdPrintView
    End If
    ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader

    svar = Date & " Ugenr: " & Office.MsoCondition.msoConditionThisWeek
    ActiveDocument.Bookmarks("Her").Select
    Selection.TypeText svar:=svar
   
    'lukker sidehovedet
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
   
End Sub
Avatar billede rvm Nybegynder
11. marts 2002 - 19:36 #5
Ups *S*

Ved test virkede det ikke :-(

Men nu har jeg fundet en lidt anden metode :-)

    svar = Date & " Ugenr: " & Format(Date, "ww")
    ActiveDocument.Bookmarks("Her").Select
    Selection.TypeText Text:=svar
Avatar billede frkolsen Nybegynder
11. marts 2002 - 20:57 #6
Problemet er et lidt andet. Datoen skal altid indeholde datoen for udgivelsesdagen som altid er førstkommende tirsdag.

rvm> Den kommer med en fejlmeddelelse til din makro: "Object variable or With block variable not set."
Lyder som noget jeg husker fra en fjern fortid med Pascal, noget med en dim-sætning el.lign. - eller er det en declaration den spør' efter?

Opretter jeg derimod et nyt dok mens skabelonen er åben i forvejen går det bedre (!), så laver den sidehovedet med både dato og ugenummer også. Men dato og ugenummer er stadig for i dag.
Avatar billede frkolsen Nybegynder
11. marts 2002 - 22:27 #7
Date skal være
=IDAG()+HVIS(UGEDAG(IDAG();2)>2;9-UGEDAG(IDAG();2);2-UGEDAG(IDAG();2)) på "Excelsk"
- er det muligt?
Avatar billede rvm Nybegynder
12. marts 2002 - 12:02 #8
Prøv denne *S*

Sub Datoer()
Dim dato As String
Dim ugedag As String
Dim uge As String
Dim svar As String

ugedag = Weekday(Date)

Select Case ugedag
    Case "1"
        dato = Date + 2
        uge = Format(Date, "ww") + 1
    Case "2"
        dato = Date + 1
        uge = Format(Date, "ww")
    Case "3"
        dato = Date
        uge = Format(Date, "ww")
    Case "4"
        dato = Date + 6
        uge = Format(Date, "ww") + 1
    Case "5"
        dato = Date + 5
        uge = Format(Date, "ww") + 1
    Case "6"
        dato = Date + 4
        uge = Format(Date, "ww") + 1
    Case "7"
        dato = Date + 3
        uge = Format(Date, "ww") + 1
End Select

svar = dato & ", Ugenr: " & uge

End Sub
Avatar billede frkolsen Nybegynder
13. marts 2002 - 11:56 #9
rvm, jeg har ikke glemt dig. Er bare lige optaget af andet. Det kræver lidt ekstra tid, systemet vil ikke acceptere makroer. Kan ikke huske jeg har deaktiveret den mulighed og ved ikke hvordan jeg aktiver den igen.
Avatar billede rvm Nybegynder
13. marts 2002 - 11:58 #10
Vælg Funktioner/Makro/Sikkerhed og sæt den til lav - dette gælder for Word 2000 og XP

Ovenstående makro skal sikkert kombineres med den tildigere udarbejdede - her tænker jeg specielt på det med sidehovedet og bogmærker.
Avatar billede frkolsen Nybegynder
13. marts 2002 - 13:39 #11
Jeg er igang igen. Tak for 11:56:06. Gjort! Og min makro ser nu sådan ud:

Sub Datoer()

    din Datoer-sub +

svar = dato & ", Uge " & uge
    ActiveDocument.Bookmarks("Her").Select
    Selection.TypeText Text:=svar
   
    'lukker sidehovedet
    ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument

End Sub

NU:

1:
Skal den så bare gøre det automatisk når man opretter et nyt dok. Kan den sag løses ved foroven at tilføje et
Sub AutoNew()
og i bunden et
End Sub
?

2:
Den efterlader makrokørslen med sidehovedet åbent i normal visning. Sidehovedet skulle gerne være lukket og dok. i lidelayoutvisning.

Skabelonen skal bruges at såvel etb-erfarne som digitalt analfabeter (kigger mig lige o
Avatar billede frkolsen Nybegynder
13. marts 2002 - 13:41 #12
fortsat: kan en makromus ha spist:
(kigger mig lige omkring om nogen ser hvad jeg skriver - nej, der er fri bane, puh!)
PS lidelayoutvisning ~ side-do-
Avatar billede frkolsen Nybegynder
13. marts 2002 - 13:43 #13
mer fortsat:
11:56:06 = 11:58:41
Avatar billede rvm Nybegynder
13. marts 2002 - 13:44 #14
->1: Ja - kald makroen AutoNew - så kører den kun, når der bliver lavet et nyt dokument på baggrund af skabelonen.

->2: Start makrooptageren og optag at du ændrer fra normalvisning til diaslayoutvisning - kopier så denne stump kode ind til slut i makroen.
Avatar billede frkolsen Nybegynder
13. marts 2002 - 14:00 #15
Waw, det hjælper, det hjælper, men der er stadig et men:
"Object variable or With block variable not set."
Avatar billede frkolsen Nybegynder
13. marts 2002 - 14:02 #16
+ men
den starter ikke automatisk når nyt dok oprettes :(
Avatar billede rvm Nybegynder
13. marts 2002 - 14:06 #17
1. Gå ind i Tools/Options og fjern hakket i "require variable declerations"
2. Hvis der står "Options Explicit" i toppen af kodevinduet, så slet denne linie.

Derudover: Pørv at debugge makroen og se hvor den fejler.

Du kunne eventuelt sende dokumentet til mig, så kan jeg kikke det lidt efter i sømmene *S*

Min email: rvejemad@sca.csc.com
Avatar billede frkolsen Nybegynder
13. marts 2002 - 14:24 #18
Nåh ja, der noget med "Options Explicit", men det står der nu ikke og der er ikke hak i "require variable declerations". Og debugge, det er et *meget* dyrt ord. Jeg tager imod det fine tilbud og sender en kopi.
Avatar billede rvm Nybegynder
13. marts 2002 - 14:37 #19
Nu har jeg fået den *S*
Avatar billede rvm Nybegynder
13. marts 2002 - 14:49 #20
Nu er den rettet. Du havde lavet en elementær fejl, idet du ikke må ligge kode i ThisDocument uden at bruge de fordefindere navne. Hvis din kode skulle have virket, så skulle den have ligget i et nyt modul (Indsæt/Modul). - Så din kode var god nok, men den lå bare et forkert sted. Nu har jeg opretet et nyt modul og klippet koden derover - så nu virker det *S*
Avatar billede frkolsen Nybegynder
13. marts 2002 - 15:11 #21
Tak skal du ha. Den er ikke kommet retur, har du sendt den?
Avatar billede rvm Nybegynder
13. marts 2002 - 15:15 #22
Ja klokken 14.53 - men kommmer den ikke, så indsæt bare et modul og kopier hele koden over i det  *S*
Avatar billede frkolsen Nybegynder
13. marts 2002 - 15:34 #23
Perfekt! Så kører den. Helt kringeling!

Nu er vi så nået til uddeling af points. Jeg har før haft lidt bøvl med det når de skal fordeles. Og nu ka jeg jo se at det kan gi problemer igen. Du må lige hjælpe mig med de sidste 20 så starter jeg med at markere rvm og trykke accepter, takker og håber du har plads til p'ene på kontoen! :-)
Avatar billede frkolsen Nybegynder
13. marts 2002 - 15:38 #24
Ups, ja, det kan jeg godt se, du kan jo ikke lægge et svar i et lukket spm. Hm. Så må jeg vel oprette et 'P til'-spm i denne kategori?
Avatar billede rvm Nybegynder
13. marts 2002 - 15:41 #25
Jeg ligger jo kun nr. 2 på listen, så lidt point er altid velkomne *S*

Den eneste måde jeg kender, er at du opretter et spørgsmål, hvor du skriver "Point til Rvm". Så svarer jeg med et "Tak" og derefter accepterer du mit svar *S*

Jeg er glad for at vi endeligt fik det til at virke :-)
Avatar billede frkolsen Nybegynder
13. marts 2002 - 15:52 #26
Oprettet
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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