Avatar billede jensb Nybegynder
14. januar 2009 - 11:28 Der er 2 kommentarer og
1 løsning

VBA fra Excel til Word, formatering af tekst

Hej

Jeg er igang med noget VBA i Excel, der skal hente noget tekst i Excelarket, oprette en Word fil, og indsætte teksten her.

Dette virker fint. Jeg har taget udgangspunkt i dette script:
http://exceltip.com/st/Control_Word_from_Excel_using_VBA_in_Microsoft_Excel/465.html

I Word dokumentet som jeg opretter, opretter jeg også nogle tabulatorfelter, så jeg kan opstille tallene pænt.

Mit problem er, at jeg gerne vil formatere teksten. Jeg har nogle overskrifter der skal med fed, og i bunden skal der understregning under totalen. Men det giver lidt problemer, da jeg ikke har en selection.

Jeg indsætter bl.a. værdier med denne linie:
.Content.InsertAfter Sheets("Aktier").Range("B" & t) & vbTab & vbTab & stk & vbTab & kurs & vbTab & vbTab & kursvalue & vbTab & vbTab & udbytte

Hvis jeg eksempelvis vil have 'kursvalue' med fed, hvordan kan dette gøres?

Og hvordan med understregning? Jeg tab'er 2 gange før 'kursvalue' og 'udbytte', fordi understregningen skal være bredere end kun tallet. Så understregningen skal være mellem de to tabs. Men hvordan kan jeg gøre det? Skal der laves en selection, og i så fald, hvordan gør jeg det?

Er der nogen der kan hjælpe mig videre med dette?
Avatar billede supertekst Ekspert
14. januar 2009 - 11:55 #1
Eksempel til inspiration:

Sub Test1()
Rem Sætter Fed på tallet 66,88

    Selection.TypeText Text:="Aaaa" & vbTab & "1234,55" & vbTab & vbTab
    Selection.Font.Bold = wdToggle
    Selection.TypeText Text:="66,88"
    Selection.Font.Bold = wdToggle
    Selection.TypeParagraph
End Sub

Sub Test2()
Rem sætter understregning over flere tabs

    If Selection.Font.Underline = wdUnderlineNone Then
        Selection.Font.Underline = wdUnderlineSingle
    Else
        Selection.Font.Underline = wdUnderlineNone
    End If

    Selection.TypeText Text:="Ialt" & vbTab & "1234,55" & vbTab & vbTab & _
        "66,88"
    If Selection.Font.Underline = wdUnderlineNone Then
        Selection.Font.Underline = wdUnderlineSingle
    Else
        Selection.Font.Underline = wdUnderlineNone
    End If
    Selection.TypeParagraph
End Sub
Avatar billede jensb Nybegynder
14. januar 2009 - 12:52 #2
Det ser ud til at komme til at fungere.

Tusind tak for hjælpen. Smid et svar, så er der point.
Avatar billede supertekst Ekspert
14. januar 2009 - 14:12 #3
Fint - selv tak & et svar....
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
Kurser inden for grundlæggende programmering

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