2012-10-27 2 views
5

나는 word document (2003)을 가지고 있습니다. PowerShell을 사용하여 문서의 내용을 구문 분석합니다. 문서의 맨 위에는 몇 줄의 텍스트가 있고, 열 수와 텍스트가 다른 12 개의 테이블이 있습니다.테이블 등으로 단어 문서 (* .doc) 콘텐츠를 읽으십시오.

  1. 읽기 문서 (등 필요한 객체를 만들)
  2. 텍스트
  3. 의 각 라인 테이블의 일부가 아닌 경우에는 가져 오기 :

    나는 아래 같은 무언가로 문서를 읽을 수 있기를 기대 , 텍스트 및 쓰기 출력 등의 과정을 다른

  4. 하면 테이블의 일부
  5. (주문에 의해)
  6. 가져 오기 테이블 번호와 COL에 따라 출력을 구문 분석

아래는 내가 쓰기 시작 한 파워 쉘 스크립트입니다 umns

  • 최종 경우 :

    $objWord = New-Object -Com Word.Application 
    $objWord.Visible = $false 
    $objDocument = $objWord.Documents.Open($filename) 
    $paras = $objDocument.Paragraphs 
    foreach ($para in $paras) 
    { 
        Write-Output $para.Range.Text 
    } 
    

    이 단락은 내가 원하는 것입니다 있는지 확실하지 않다. 내 목적에 더 적합한 것이 있습니까? 지금 내가 얻는 것은 문서의 전체 내용입니다. 내가 얻은 것을 어떻게 제어 할 수 있습니까? 선을 얻고 싶으면 마치 표의 일부인지 아닌지를 결정하고 어떤 숫자 표를 기준으로 조치를 취할 수있게하십시오.

  • +1

    Word 문서는 라인으로 구성되지 않습니다. 한 발 뒤로 물러나서 해결책으로 인식하는 것이 아니라 해결하려는 문제를 설명하십시오. –

    +0

    예 - 응답 해 주셔서 감사합니다 ... 그래서이 텍스트에는 약 5 ~ 6 개의 텍스트가 포함되어 있습니다. 각 테이블은 2에서 6까지 다양한 수의 컬럼을가집니다. 각 테이블의 첫 x 째 행은 헤더를 설명합니다. 나는 (Powershell을 사용하여) 문서를 읽고, Oracle 데이터베이스에 대해 개별적으로 실행할 수있는 테이블 및 출력 SQL 문을 분석합니다. 이제 이러한 문서가 많으며 구조가 서로 비슷합니다. 그러나 각 테이블에 행이 더 많거나 적을 수 있습니다. – Anoop

    답변

    5

    Tables 컬렉션을 통해 Word 문서의 테이블을 열거 할 수 있습니다. RowsColumns 속성을 사용하면 주어진 테이블에서 행/열의 수를 결정할 수 있습니다. 개별 셀은 Cell 개체를 통해 액세스 할 수 있습니다. 문서의 마지막 행과 각 테이블의 마지막 열에서 셀의 값을 출력합니다

    예 :

    $wd = New-Object -ComObject Word.Application 
    $wd.Visible = $true 
    $doc = $wd.Documents.Open($filename) 
    $doc.Tables | ForEach-Object { 
        $_.Cell($_.Rows.Count, $_.Columns.Count).Range.Text 
    } 
    
    +0

    고맙습니다. 하지만 한 가지 질문이 있습니다. 테이블 관련 로직을 호출하기 위해 내가 테이블 안에 있다는 것을 어떻게 알 수 있습니까? isTable() 구조체가 있습니까? – Anoop

    +0

    질문을 이해할 수 있는지 확실하지 않습니다. 'Tables' 콜렉션은 문서에 모든 테이블을 가지고 있습니다. 해당 컬렉션에서 개체에 액세스 할 때 해당 개체는 테이블입니다. –

    +0

    흠 - 내가 네가 한 말을 이해했다고 생각해. 나는 그것이 테이블인지 아닌지에 관계없이 모든 텍스트를 순차적으로 읽으려고했다. 그리고 테이블이라면 테이블 로직을 호출하기를 원했다. 하지만 그렇게 할 필요는 없습니다. 테이블 컬렉션을 사용하는 것이 더 깨끗해 보입니다. 고맙습니다. – Anoop

    관련 문제