17. februar 2008 - 13:21Der er
8 kommentarer og 1 løsning
Word til excel
Jeg har følgende macrocode, men den stopper i den array jeg har oprettet, hvor den skal hente teksten fra dokumentet.
Data = .Range(.Range(1), .Range(1 & .Range(10000).End(xlUp).Row))
Peger på fejl ved ".end"
Jeg vil gerne have den henter over i et array, da der kan være meget tekst der skal flyttes.
Det virker fint, men langsomt med: With wrdDoc .Range.Copy ToSheet.PasteSpecial xlPasteValues End With
Hele koden:
Private Sub CbProject2_Change() Dim wrdApp As Word.Application Dim wrdDoc As Word.Document Dim rTarget As Long Dim Data As Variant Dim ToSheet As Worksheet
'****************************** Set ToSheet = ThisWorkbook.Worksheets("Projekt tekst 2") '******************************
Application.ScreenUpdating = False
If Ark1.CbProject2.Value = False Then ToSheet.Range("A1:A1000").EntireRow.Delete Exit Sub ElseIf Ark1.CbProject2.Value = True Then '****************************** Set wrdApp = CreateObject("Word.Application") Set wrdDoc = wrdApp.Documents.Open("C:\Test mappe\Projekt tekst 2.doc") '******************************
'Get data rTarget = ToSheet.Range("A65000").End(xlUp).Row + 1 With wrdDoc Data = .Range(.Range(1), .Range(1 & .Range(10000).End(xlUp).Row)) ToSheet.Cells(rTarget, "A").Resize(UBound(Data, 1), UBound(Data, 2)) = Data End With wrdApp.Quit Set ToSheet = Nothing Set wrdDoc = Nothing Set wrdApp = Nothing 'ActiveWorkbook.Saved = True End If Application.ScreenUpdating = True End Sub
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
With wrdDoc Data = .Range(.Range(1), .Range(1 & .Range(10000).End(xlUp).Row)) ToSheet.Cells(rTarget, "A").Resize(UBound(Data, 1), UBound(Data, 2)) = Data End With
Du kører på dokumentet, og forsøger at bruge End(xlUp).Row inde i dokumentet - det er Excel kommandoer/metoder - de vil ikke virke på work.
Skal du bare have ALT hvad der findes i dokumentet? Er det lavet i en tabel i Word, siden du forsøger dig med et array?
Der kan være tekst og tabeller i dokumentet. Men lad os antag i første omgang at det er ren tekst.. Jeg tænkte det ville være hurtigere at gemme teksten i en array end en streng..
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.