Avatar billede mrkr Juniormester
29. januar 2012 - 17:00 Der er 4 kommentarer og
1 løsning

Overføre data fra excel til word

Jeg har denne kode der overfører data fra excel til til skabelonfil i word.
Den virker fint og gør typisk jobbet korrekt for mig.

Men hvis der er mere end 256 tegn i en af de overførte celler i excel går koden kold og stopper.

Det sker desværre oftere og oftere at jeg skriver mere end de famøse 256 tegn i cellen i excel så det er et stigende problem.

Er der nogen der kan hjælpe mig med at rette i koden så jeg kan få de lange tekster med over i word.

Hvis det kræver at man griber det helt anderledes an, er det helt ok.
Jeg vil bare meget gerne have alle data med over i word.







Sub Word_export()
    Dim sFileToOpen As String
    Dim bWordStartedByMe As Boolean
 
   
    bWordStartedByMe = False
    sFileToOpen = "F:\data\word\testfil.doc"
    Application.ScreenUpdating = False
 
On Error GoTo ShitHappens
   
    ' Bruger Word hvis Word er åben ellers fejl
    Set gwdApp = GetObject(, "Word.Application")
    gwdApp.Visible = True
    gwdApp.Activate
   
    Set gwdDoc = gwdApp.Documents.Open(Filename:=sFileToOpen)
       
    gwdDoc.FormFields(1).Result = ThisWorkbook.Worksheets("Stam").Range("navn1")
    gwdDoc.FormFields(2).Result = ThisWorkbook.Worksheets("Stam").Range("navn2")
    gwdDoc.FormFields(3).Result = ThisWorkbook.Worksheets("Stam").Range("testk1")
    gwdDoc.FormFields(4).Result = ThisWorkbook.Worksheets("Stam").Range("tekst2")
    Application.ScreenUpdating = True
   
  '******************************************
  'Sletter memory
  '******************************************
  GoTo ClearUp
   
ShitHappens:
    Select Case Err.Number
        Case 429
            ' Hvis Word ikke er startet
            Set gwdApp = CreateObject("Word.Application")
            bWordStartedByMe = True
            Resume Next
        Case Else
            Err.Clear
    End Select

ClearUp:
    Set gwdDoc = Nothing
    Set gwdApp = Nothing
End Sub
Avatar billede kabbak Professor
29. januar 2012 - 18:48 #1
ThisWorkbook.Worksheets("Stam").Range("navn1").copy
gwdDoc.FormFields(1).Result

det er ikke testet, men prøv
Avatar billede kabbak Professor
29. januar 2012 - 18:49 #2
det skal stå på en linje med et mellemrum imellem

ThisWorkbook.Worksheets("Stam").Range("navn1").Copy gwdDoc.FormFields(1).Result
Avatar billede mrkr Juniormester
29. januar 2012 - 21:37 #3
Den melder desværre fejl på linjen og får ikke overført data til word før den stopper.
Avatar billede mrkr Juniormester
30. januar 2012 - 07:55 #4
Glemte at nævne at den melder fejl uanset om der over eller under 256 tegn i excel cellen.
Avatar billede mrkr Juniormester
28. august 2012 - 20:08 #5
lukker
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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