10. marts 2002 - 21:22Der 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.
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
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.
Synes godt om
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
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
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
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.
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
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.
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
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-
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*
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.
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*
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! :-)
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 :-)
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.