ActiveDocument.ActiveWindow.View.Type = wdPrintView End Sub
Problemet er så, hvis brugeren kommer til at vælge det forkerte sprog, så fejler koden hvis de vælger et andet, nok fordi bogmærkerne er blevet overskrevet.
Hvordan kan jeg lige løse det nemmest, også gerne så der er mulighed for at et sprog er valg som standard fra starten af.
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Jeg fandt engang denne makro på nettet og bruger den ofte, når jeg skal indsætte noget i et bogmærke - den sletter nemlig ikke bogmærket:
Public Sub SkrivTilBogmaerke(bmkName As String, bmkNyText As String) If ActiveDocument.Bookmarks.Exists(bmkName) = True Then ActiveDocument.Bookmarks(bmkName).Select If Not ActiveDocument.Bookmarks(bmkName).Range.Text = "" Then Selection.Range.Delete End If
If Not bmkNyText = "" Then 'Indsætter tekst (og sletter bokmærke) '**** Sletter evt. overflødige linieskift. While Asc(Right(bmkNyText, 1)) = 13 Or Asc(Right(bmkNyText, 1)) = 10 bmkNyText = Left(bmkNyText, Len(bmkNyText) - 1) Wend Selection.TypeText "." 'Bruges til at bevare bogmærket Selection.MoveLeft wdCharacter, 1, wdExtend Selection.Bookmarks.Add bmkName Selection.MoveLeft wdCharacter, 1 Selection.TypeText bmkNyText Selection.Range.Delete Else Selection.Bookmarks.Add bmkName End If End If End Sub
Helt i orden, måske kan du hjælpe mig med 2 detajler.
Jeg har lavet, så dokumentet ikke vises men kun userformen indtil dokumentet bliver oprettet, men word starter jo stadigvæk op, for så at forsvinde, kan man gør noget så word ikke synligt starter op?
og fordi jeg roder rundt med sidefødderne, så går den også i sidefodsvisning, det vil jeg ikke have, kan jeg undgå det på en eller anden måde, eventuelt ved at lukke denne visning?
Jeg tror ikke du kan undgå at Word vises, når du vil vise en userform også.
Du kan ikke undgå at den går i sidefodsvisning, når du programmerer til sidefoden. Du skal i det tilfælde programmere at du lukker sidefoden igen (hver gang).
Application.Screenupdating = false virker ikke i dette tilfælde, da Word bruger skærmopdateringen til at opdatere sidefoden :-( Jeg kender dog en anden metode, der gør Word lidt roligere:
Skriv følgende i toppen af et modul: Declare Function LockWindowUpdate Lib "user32" _ (ByVal hwndLock As Long) As Long Declare Function FindWindow Lib "user32" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As Long) As Long
Når du skal vil slå skærmopdaterinen fra, så skriver du følgende: hwnd = FindWindow("OpusApp", 0&) LockWindowUpdate (hwnd)
Når du vil slå skærmopdateringen til igen, skriver du følgende: LockWindowUpdate (0&) Ovenstående skal altid også placeres i fejlhåndteringesrutinen - ellers ser du ikke fejlene og Word er låst
Det vil jeg lige kigge på, men måske kan det løses på en anden måde.
Det eneste der egentlig generer mig, at værktøjslinien til sidefoden, hvis jeg kan lukke den, så er problemet der jo ikke.
Synes godt om
Ny brugerNybegynder
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.