| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Hjælp til sidehoved makro Fra : Jesper Clausen | 
  Dato :  18-04-05 08:59 |  
  |   
            Hej Ng
 
 Jeg har en sidehoved makro som virker fint i office 2000.
 Nu har jeg konverteret til office 2003 og der virker makroen ikke.
 
 Er der en der har et godt bud hvor fejlen ligger?
 Scriptet er pastet ind herunder.
 
 På forhånd tak for hjælpen
 
 Jesper
 
 
 '
 ' Sidehoved Makro
 
 Sub Sidehoved()
     Dim tekst, fag, navn, klasse, nr, kontrolnr As String
 
     On Error GoTo fejlfinding
     Application.ScreenUpdating = False
 
     'hvis der ikke er et åbent dokumentvindue
     If Windows.Count = 0 Then End
 
     'det aktuelle sidehoved aktiveres og der zoomes
     With ActiveWindow.ActivePane.View
         .Type = wdPageView
         .SeekView = wdSeekCurrentPageHeader
         .Zoom.Percentage = 100
     End With
 
     'en søgning afgør om sidehovedet allerede er udfyldt
     With Selection.Find
         .ClearFormatting
         .Text = "Skolens navn"
         .Forward = True
         .Wrap = wdFindContinue
         .MatchCase = True
         .Execute
     End With
 
     'HVIS sidehovedet allerede er udfyldt, fjernes markeringen
     'af søgeteksten ved at flytte indsætningspunktet, og
     'sidehovedet lukkes
     If Selection.Find.Found = True Then
         Selection.MoveRight Unit:=wdCharacter, Count:=1
         ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
         End
 
     'HVIS sidehovedet ikke er udfyldt endnu
     Else
         'sidehovedet lukkes
         ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
 
         'dropdown´en udfyldes med prøven navn
         frmEksamen.cboVælg.List = Array("Studentereksamen", _
             "Højere forberedelseseksamen", "Terminsprøve", _
             "Prøveeksamen", "Årsprøve")
         frmEksamen.cboVælg.ListIndex = 0
 
         'input hentes fra formen Eksamen
         Application.ScreenUpdating = True
         frmEksamen.txtKontrolnr.Text = Left(Date, 3)
         frmEksamen.Show
         Application.ScreenUpdating = False
         fag = Trim(frmEksamen.txtFag.Text)
         navn = Trim(frmEksamen.txtNavn.Text)
         klasse = Trim(frmEksamen.txtKlasse.Text)
         nr = Trim(frmEksamen.txtNr.Text)
         kontrolnr = Trim(frmEksamen.txtKontrolnr.Text)
         tekst = frmEksamen.cboVælg.Text
 
         'hoveddokumentet formateres med 1½ linjeafstand
         Selection.ParagraphFormat.LineSpacingRule = wdLineSpace1pt5
 
         'standardindstillinger i Sideopsætning
         With ActiveDocument.PageSetup
             .TopMargin = CentimetersToPoints(4.5)
             .BottomMargin = CentimetersToPoints(3)
             .LeftMargin = CentimetersToPoints(4)
             .RightMargin = CentimetersToPoints(3)
             .Gutter = CentimetersToPoints(0)
             .HeaderDistance = CentimetersToPoints(1.25)
             .FooterDistance = CentimetersToPoints(1.25)
             .PageWidth = CentimetersToPoints(21)
             .PageHeight = CentimetersToPoints(29.7)
         End With
 
         'der skrives centreret sidenummer i sidefoden
         Selection.Sections(1).Footers(1).PageNumbers.Add _
             PageNumberAlignment:=wdAlignPageNumberCenter, FirstPage:=True
 
         'sidehovedet åbnes
         ActiveWindow.ActivePane.View.Type = wdPageView
         ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
 
         'autoteksten "Eksamen" indsættes i sidehovedet
         NormalTemplate.AutoTextEntries("Eksamen").Insert _
             Where:=Selection.Range, RichText:=True
 
         'datofeltet og arkfeltet opdateres
         Selection.WholeStory
         Selection.Fields.Update
 
         'markeringen fjernes og indsætningspunktet placeres lige efter
         'skolens navn
         Selection.MoveUp Unit:=wdLine, Count:=2
         Selection.MoveRight Unit:=wdCharacter, Count:=24
 
         'input skrives i sidehovedet startende ved søgeordet "Prøve"
         With Selection
             .Find.Execute FindText:="Prøve", Forward:=True
             .Delete Unit:=wdCharacter, Count:=1
             .TypeText Text:=tekst
             .Find.Execute FindText:=tekst, Forward:=False
             .Font.Bold = True
             '.Font.Color = wdColorRed
             .MoveRight Unit:=wdCharacter, Count:=1
 
             .Find.Execute FindText:="fag:", Forward:=True
             .MoveRight Unit:=wdCharacter, Count:=2
             .TypeText Text:=fag
 
             .Find.Execute FindText:="navn:", Forward:=True
             .MoveRight Unit:=wdCharacter, Count:=2
             .TypeText Text:=navn
 
             .Find.Execute FindText:="klasse:", Forward:=True
             .MoveRight Unit:=wdCharacter, Count:=2
             .TypeText Text:=klasse
 
             .Find.Execute FindText:="elevnr.:", Forward:=True
             .MoveRight Unit:=wdCharacter, Count:=2
             .TypeText Text:=nr
 
             .Find.Execute FindText:="kontrolnr.:", Forward:=True
             .MoveRight Unit:=wdCharacter, Count:=2
             .TypeText Text:=kontrolnr
 
             .MoveUp Unit:=wdScreen, Count:=1
             .MoveRight Unit:=wdCharacter, Count:=24
         End With
 
         'sidehovedet lukkes
         ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
         Application.ScreenUpdating = True
     End If
     End
 
     'generel fejlfinding
 fejlfinding:
     tekst = "Der er opstået en fejl"
     MsgBox tekst, vbCritical, " Fejl"
     Application.ScreenUpdating = True
 
 End Sub
 
 
  
            
             |   |   
            
        
 
            
         
           Thomas Bøjstrup Joha~ (18-04-2005) 
         
	
            | Kommentar Fra : Thomas Bøjstrup Joha~ | 
  Dato :  18-04-05 19:12 |  
  |   
            
 "Jesper Clausen" <jeppe2k@yahoo.dk> skrev i en meddelelse 
 news:d3vpd7$oee$1@news.net.uni-c.dk...
 > Hej Ng
 >
 > Jeg har en sidehoved makro som virker fint i office 2000.
 > Nu har jeg konverteret til office 2003 og der virker makroen ikke.
 >
 > Er der en der har et godt bud hvor fejlen ligger?
 > Scriptet er pastet ind herunder.
 >
 > På forhånd tak for hjælpen
 >
 > Jesper
 >
 >
 > '
 > ' Sidehoved Makro
 >
 > Sub Sidehoved()
 >    Dim tekst, fag, navn, klasse, nr, kontrolnr As String
 
 Klip mange liner
 
 > End Sub
 >
 
 Kommer den ikke og siger hvor det gå galt ?
 
 
 
  
            
             |   |   
            
        
 
            
         
           Ulf (18-04-2005) 
         
	
            | Kommentar Fra : Ulf | 
  Dato :  18-04-05 20:58 |  
  |   
            On Mon, 18 Apr 2005 09:58:55 +0200, "Jesper Clausen"
 <jeppe2k@yahoo.dk> wrote:
 
 >Hej Ng
 >
 >Jeg har en sidehoved makro som virker fint i office 2000.
 >Nu har jeg konverteret til office 2003 og der virker makroen ikke.
 >
 >Er der en der har et godt bud hvor fejlen ligger?
 >Scriptet er pastet ind herunder.
 >
 >På forhånd tak for hjælpen
 >
 >Jesper
 >
 >
 >'
 >' Sidehoved Makro
 >
 >Sub Sidehoved()
 >............
 >End Sub
 >
 
 Prøv at checke 'Tools > Macro > Security' (Jeg har UK version).
 Ofte får man ingen advarsel om at det valgte niveau (Højt som default)
 ikke tillader makroer.
 
 MVH
 Ulf
  
            
             |   |   
            
        
 
            
         
           Jesper Clausen (18-04-2005) 
         
	
            | Kommentar Fra : Jesper Clausen | 
  Dato :  18-04-05 23:15 |  
  |  
 
            >>Hej Ng
 >>
 >>Jeg har en sidehoved makro som virker fint i office 2000.
 >>Nu har jeg konverteret til office 2003 og der virker makroen ikke.
 >>
 >>Er der en der har et godt bud hvor fejlen ligger?
 >>Scriptet er pastet ind herunder.
 >>
 >>På forhånd tak for hjælpen
 >>
 >>Jesper
 >>
 >>
 >>'
 >>' Sidehoved Makro
 >>
 >>Sub Sidehoved()
 >>............
 >>End Sub
 >>
 >
 > Prøv at checke 'Tools > Macro > Security' (Jeg har UK version).
 > Ofte får man ingen advarsel om at det valgte niveau (Højt som default)
 > ikke tillader makroer.
 >
 > MVH
 > Ulf
 Jeg har sat sikkerhedsniveauet ned, fra højt til mellem (den kom med en 
 advarsel ved høj)
 det gav ingen effekt..
 Jeg har forsøgt at afvikle trinvist, men den fejlmelder med det samme   
...og jeg har minus forstand på at fejlfinde i VB
  Vh Jesper 
            
              |   |   
            
        
 
            
         
            Ulf (19-04-2005) 
         
	
            | Kommentar Fra : Ulf | 
  Dato :  19-04-05 20:27 |  
  |  
 
            On Tue, 19 Apr 2005 00:14:55 +0200, "Jesper Clausen"
 <jeppe2k@yahoo.dk> wrote:
 Jesper,
 Prøv at kommentere linien "On Error GoTo fejlfinding" ud (et ' foran
 teksten   .
 Så vil makroen stoppe der hvor afviklingen går galt. Nu får du bare
 "Der er opstået en fejl", men ikke noget om hvor.
 Når jeg kører den fejler den på "frmEksamen.cboVælg.List" - jeg har
 heller ikke nogen frmEksamen.
 Der er næppe noget galt med koden (den har jo kørt før), men den
 kalder også NormalTemplate hvor der tilsyneladende skal være nogle
 autotekst felter.
 Mit gæt er at du skal have fat i din gamle Normal.dot fil.
 MVH
 Ulf
            
              |   |   
            
        
 
            
         
           Harald Staff (19-04-2005) 
         
	
            | Kommentar Fra : Harald Staff | 
  Dato :  19-04-05 20:34 |  
  |   
            "Virker ikke" er hva jeg kaller en "dansk feilmelding" -i hvert fall fra
 betryggende avstand her oppe i fjellene. Det er i hvert fall 13264 måter en
 makro ikke kan virke på. Så hvordan vet du eller opplever at den ikke virker
 ?
 
 Får du en feilmeddelelse ? Blir du i så fall spurt om "End" eller "Debug" ?
 Idet du klikker "Debug" -hva ser du ?
 
 HTH. beste hilsen Harald
 
 "Jesper Clausen" <jeppe2k@yahoo.dk> skrev i melding
 news:d3vpd7$oee$1@news.net.uni-c.dk...
 > Hej Ng
 >
 > Jeg har en sidehoved makro som virker fint i office 2000.
 > Nu har jeg konverteret til office 2003 og der virker makroen ikke.
 >
 > Er der en der har et godt bud hvor fejlen ligger?
 > Scriptet er pastet ind herunder.
 >
 > På forhånd tak for hjælpen
 >
 > Jesper
 >
 >
 > '
 > ' Sidehoved Makro
 >
 > Sub Sidehoved()
 >     Dim tekst, fag, navn, klasse, nr, kontrolnr As String
 >
 >     On Error GoTo fejlfinding
 >     Application.ScreenUpdating = False
 >
 >     'hvis der ikke er et åbent dokumentvindue
 >     If Windows.Count = 0 Then End
 >
 >     'det aktuelle sidehoved aktiveres og der zoomes
 >     With ActiveWindow.ActivePane.View
 >         .Type = wdPageView
 >         .SeekView = wdSeekCurrentPageHeader
 >         .Zoom.Percentage = 100
 >     End With
 >
 >     'en søgning afgør om sidehovedet allerede er udfyldt
 >     With Selection.Find
 >         .ClearFormatting
 >         .Text = "Skolens navn"
 >         .Forward = True
 >         .Wrap = wdFindContinue
 >         .MatchCase = True
 >         .Execute
 >     End With
 >
 >     'HVIS sidehovedet allerede er udfyldt, fjernes markeringen
 >     'af søgeteksten ved at flytte indsætningspunktet, og
 >     'sidehovedet lukkes
 >     If Selection.Find.Found = True Then
 >         Selection.MoveRight Unit:=wdCharacter, Count:=1
 >         ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
 >         End
 >
 >     'HVIS sidehovedet ikke er udfyldt endnu
 >     Else
 >         'sidehovedet lukkes
 >         ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
 >
 >         'dropdown´en udfyldes med prøven navn
 >         frmEksamen.cboVælg.List = Array("Studentereksamen", _
 >             "Højere forberedelseseksamen", "Terminsprøve", _
 >             "Prøveeksamen", "Årsprøve")
 >         frmEksamen.cboVælg.ListIndex = 0
 >
 >         'input hentes fra formen Eksamen
 >         Application.ScreenUpdating = True
 >         frmEksamen.txtKontrolnr.Text = Left(Date, 3)
 >         frmEksamen.Show
 >         Application.ScreenUpdating = False
 >         fag = Trim(frmEksamen.txtFag.Text)
 >         navn = Trim(frmEksamen.txtNavn.Text)
 >         klasse = Trim(frmEksamen.txtKlasse.Text)
 >         nr = Trim(frmEksamen.txtNr.Text)
 >         kontrolnr = Trim(frmEksamen.txtKontrolnr.Text)
 >         tekst = frmEksamen.cboVælg.Text
 >
 >         'hoveddokumentet formateres med 1½ linjeafstand
 >         Selection.ParagraphFormat.LineSpacingRule = wdLineSpace1pt5
 >
 >         'standardindstillinger i Sideopsætning
 >         With ActiveDocument.PageSetup
 >             .TopMargin = CentimetersToPoints(4.5)
 >             .BottomMargin = CentimetersToPoints(3)
 >             .LeftMargin = CentimetersToPoints(4)
 >             .RightMargin = CentimetersToPoints(3)
 >             .Gutter = CentimetersToPoints(0)
 >             .HeaderDistance = CentimetersToPoints(1.25)
 >             .FooterDistance = CentimetersToPoints(1.25)
 >             .PageWidth = CentimetersToPoints(21)
 >             .PageHeight = CentimetersToPoints(29.7)
 >         End With
 >
 >         'der skrives centreret sidenummer i sidefoden
 >         Selection.Sections(1).Footers(1).PageNumbers.Add _
 >             PageNumberAlignment:=wdAlignPageNumberCenter, FirstPage:=True
 >
 >         'sidehovedet åbnes
 >         ActiveWindow.ActivePane.View.Type = wdPageView
 >         ActiveWindow.ActivePane.View.SeekView = wdSeekCurrentPageHeader
 >
 >         'autoteksten "Eksamen" indsættes i sidehovedet
 >         NormalTemplate.AutoTextEntries("Eksamen").Insert _
 >             Where:=Selection.Range, RichText:=True
 >
 >         'datofeltet og arkfeltet opdateres
 >         Selection.WholeStory
 >         Selection.Fields.Update
 >
 >         'markeringen fjernes og indsætningspunktet placeres lige efter
 >         'skolens navn
 >         Selection.MoveUp Unit:=wdLine, Count:=2
 >         Selection.MoveRight Unit:=wdCharacter, Count:=24
 >
 >         'input skrives i sidehovedet startende ved søgeordet "Prøve"
 >         With Selection
 >             .Find.Execute FindText:="Prøve", Forward:=True
 >             .Delete Unit:=wdCharacter, Count:=1
 >             .TypeText Text:=tekst
 >             .Find.Execute FindText:=tekst, Forward:=False
 >             .Font.Bold = True
 >             '.Font.Color = wdColorRed
 >             .MoveRight Unit:=wdCharacter, Count:=1
 >
 >             .Find.Execute FindText:="fag:", Forward:=True
 >             .MoveRight Unit:=wdCharacter, Count:=2
 >             .TypeText Text:=fag
 >
 >             .Find.Execute FindText:="navn:", Forward:=True
 >             .MoveRight Unit:=wdCharacter, Count:=2
 >             .TypeText Text:=navn
 >
 >             .Find.Execute FindText:="klasse:", Forward:=True
 >             .MoveRight Unit:=wdCharacter, Count:=2
 >             .TypeText Text:=klasse
 >
 >             .Find.Execute FindText:="elevnr.:", Forward:=True
 >             .MoveRight Unit:=wdCharacter, Count:=2
 >             .TypeText Text:=nr
 >
 >             .Find.Execute FindText:="kontrolnr.:", Forward:=True
 >             .MoveRight Unit:=wdCharacter, Count:=2
 >             .TypeText Text:=kontrolnr
 >
 >             .MoveUp Unit:=wdScreen, Count:=1
 >             .MoveRight Unit:=wdCharacter, Count:=24
 >         End With
 >
 >         'sidehovedet lukkes
 >         ActiveWindow.ActivePane.View.SeekView = wdSeekMainDocument
 >         Application.ScreenUpdating = True
 >     End If
 >     End
 >
 >     'generel fejlfinding
 > fejlfinding:
 >     tekst = "Der er opstået en fejl"
 >     MsgBox tekst, vbCritical, " Fejl"
 >     Application.ScreenUpdating = True
 >
 > End Sub
 >
 >
 
 
  
            
             |   |   
            
        
 
            
         
           Harald Staff (19-04-2005) 
         
	
            | Kommentar Fra : Harald Staff | 
  Dato :  19-04-05 20:40 |  
  |   
            Oops. Jeg overså "fejlfinding" som Ulf så korrekt peker på. Den er alt annet
 enn fejlfinding. Fjern den.
 
 Beste hilsen Harald
 
 "Harald Staff" <innocent@enron.invalid> skrev i melding
 news:02d9e.7301$SL4.157001@news4.e.nsc.no...
 > "Virker ikke" er hva jeg kaller en "dansk feilmelding" -i hvert fall fra
 > betryggende avstand her oppe i fjellene. Det er i hvert fall 13264 måter
 en
 > makro ikke kan virke på. Så hvordan vet du eller opplever at den ikke
 virker
 > ?
 >
 > Får du en feilmeddelelse ? Blir du i så fall spurt om "End" eller "Debug"
 ?
 > Idet du klikker "Debug" -hva ser du ?
 >
 > HTH. beste hilsen Harald
 
 
 > >
 > >     'generel fejlfinding
 > > fejlfinding:
 > >     tekst = "Der er opstået en fejl"
 > >     MsgBox tekst, vbCritical, " Fejl"
 > >     Application.ScreenUpdating = True
 > >
 > > End Sub
 > >
 > >
 >
 >
 
 
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |