2011-05-18 76 views

回答

2

這樣的事情?

Sub ReadContenttoExcel() 
Dim DocPara As Paragraph 

' work with the new excel workbook 
    Dim oXL As Excel.Application 
    Dim oWB As Excel.Workbook 
    Dim oSheet As Excel.Worksheet 
    Dim oRng As Excel.Range 
    Dim ExcelWasNotRunning As Boolean 
    Dim WorkbookToWorkOn As String 
    Dim xxRow, xxCol As Integer 
    'specify the workbook to work on 
    WorkbookToWorkOn = "D:\test.xlsx" 
    xxRow = 1 
    xxCol = 1 

    'If Excel is running, get a handle on it; otherwise start a new instance of Excel 
    On Error Resume Next 
    Set oXL = GetObject(, "Excel.Application") 

    If Err Then 
     ExcelWasNotRunning = True 
     Set oXL = New Excel.Application 
    End If 


    'Open the workbook 
    Set oWB = oXL.Workbooks.Open(FileName:=WorkbookToWorkOn) 
    Set oSheet = oWB.Sheets(1) 
    oSheet.Activate 


    ' Parameters for testing -- see whats happening 
    With oXL 
     .DisplayAlerts = True 
     .ScreenUpdating = True 
     .EnableEvents = True 
     .Visible = True 
    End With 


    'Run through the Document and Save each of the Heading 1 Texts to Excel 

     For Each DocPara In ActiveDocument.Paragraphs 

      Select Case (DocPara.Range.Style) 
       Case "Heading 1" 
        'Debug.Print "Heading1~" & Left(DocPara.Range.Text, Len(DocPara.Range.Text) - 1) 
        xxRow = xxRow + 1 
        oSheet.Cells(xxRow, 1).Value = Left(DocPara.Range.Text, Len(DocPara.Range.Text) - 1) 
       Case "Heading 2" 
        oSheet.Cells(xxRow, 2).Value = Left(DocPara.Range.Text, Len(DocPara.Range.Text) - 1) 
       Case "Heading 3" 
        oSheet.Cells(xxRow, 3).Value = Left(DocPara.Range.Text, Len(DocPara.Range.Text) - 1) 
       Case "Heading 4" 
        oSheet.Cells(xxRow, 4).Value = Left(DocPara.Range.Text, Len(DocPara.Range.Text) - 1) 
       Case Else 
        oSheet.Cells(xxRow, 5).Value = Left(DocPara.Range.Text, Len(DocPara.Range.Text) - 1) 
      End Select 
      xxRow = xxRow + 1 
     Next 

     ActiveWorkbook.Save 
     If ExcelWasNotRunning Then 
     oXL.Quit 
     End If 

    'Realease the Object References 
    Set oRng = Nothing 
    Set oSheet = Nothing 
    Set oWB = Nothing 
    Set oXL = Nothing 
End Sub 
1

另存爲.htm,然後用excell打開。

相關問題