PowerShell을 사용하여 OneNote 문서에서 헤더를 가져 오는 방법

거스 화이트 하우스

배경 : 제 작업 환경에서는 지식 기반 메모를위한 전환 위치가 있습니다. 이들은 수년 동안 유지 관리되어 온 여러 OneNote 2016 통합 문서에 있습니다. 현재 콘텐츠 업데이트 작업을 직원에게 위임하는 중이며이 작업의 일부는 계층 관리를 위해 모든 OneNote 전자 필기장 이름과 섹션 이름을 Excel 스프레드 시트로 가져 오는 작업입니다.

작업 : 저는 PowerShell을 사용하여 OneNote에서 csv로 계층 구조 정보를 쉽고 빠르게 내보낼 수있는 방법을 온라인에서 찾아 보았지만 평생 쉬운 방법을 찾지 못했습니다. 다음 코드는 인터 웹을 통해 울려 퍼졌지만 코드를 실행하려고 할 때마다 계속 오류가 발생했습니다.

$onenote = New-Object -ComObject OneNote.Application
$scope = [Microsoft.Office.Interop.OneNote.HierarchyScope]::hsPages
[ref]$xml = $null

$onenote.GetHierarchy($null, $scope, $xml)

$schema = @{one=”http://schemas.microsoft.com/office/onenote/2013/onenote”}

$xpath = “//one:Notebook/one:Section”
Select-Xml -Xml (

$xml.Value) -Namespace $schema -XPath $xpath |
foreach {
$node = $psitem.Node

$npath = Split-Path -Path $node.Path -Parent

$props = [ordered]@{
Workbook =  Split-Path -Path $npath -Leaf
Section = $node.Name
}
New-Object -TypeName PSObject -Property $props
}

오류 : 이 코드를 실행할 때 발생하는 오류는 다음과 같습니다.

"System.String"유형의 값을 "System.Xml.XmlNode"유형으로 설정합니다. 줄 : 10 char : 17 + Select-Xml -Xml (

거스 화이트 하우스

솔루션 : 결국 Onenote 응용 프로그램과의 연결을 끊고 OneNote 2016에서 실행 가능한 솔루션을 찾아야했습니다. 솔루션을 제공했지만 향후이 데이터를 효과적으로 조작 할 수있는 다른 가능한 방법에 대해 듣고 싶습니다. :

Function Get-OneNoteHeaders{ 

[CmdletBinding()]
Param()

Begin
{
    $onenote = New-Object -ComObject OneNote.Application
    $scope = [Microsoft.Office.Interop.OneNote.HierarchyScope]::hsPages
    [ref]$xml = $null
    $csvOutput = "c:\temp\onenote-headers.csv"
}
Process
{     
    $onenote.GetHierarchy($null, $scope, $xml)
    [xml]$result = ($xml.Value)

    Foreach($notebook in $($result.DocumentElement.Notebook)){
        Add-content -Path $csvOutput -Value "$($notebook.name)"
        Foreach($section in $($notebook.section)){
            Add-content -Path $csvOutput -Value ",$($section.name)"
            Foreach($page in $section.page){
                Add-content -Path $csvOutput -Value ",,$($page.name)"
            }
        }
    }
}
End{}
}

#Get-OneNoteHeaders

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C #을 사용하여 API의 요청에서 헤더를 가져 오는 방법

분류에서Dev

angular2를 사용하여 MockBackend에서 헤더를 가져 오는 방법

분류에서Dev

API를 사용하여 Google 문서에서 제목을 가져 오는 방법

분류에서Dev

Powershell에서 RestApi를 사용하여 AzureDevOps에서 작업 항목을 가져 오는 방법

분류에서Dev

zip ()을 사용하여 목록에서 빌드 된 pandas-Dataframe에서 두 번째 헤더를 가져 오는 방법

분류에서Dev

PowerShell을 사용하여 처음에 CSV 파일에 헤더를 추가하는 방법

분류에서Dev

Fetch API를 사용하여 CORS 요청에서 헤더 필드를 가져 오는 방법

분류에서Dev

RxDatasource를 사용하여 여러 헤더가있는 UICollectionView에서 여러 섹션을 만드는 방법

분류에서Dev

Word Interop을 사용하여 Word 문서에서 특정 단어의 범위를 가져 오는 방법

분류에서Dev

Powershell Get-Azvm을 사용하여 Azure에서 VM 목록의 상태를 가져 오는 방법

분류에서Dev

HTTP API를 사용하여 Raven에서 문서를 가져 오는 방법

분류에서Dev

AWS Lambda를 사용하여 웹 페이지를 가져오고 본문과 헤더를 반환하는 방법

분류에서Dev

mysql에서 case 문을 사용하여 3 열의 데이터를 하나로 가져 오는 방법

분류에서Dev

IronPython을 사용하여 Python 파일에서 변수를 가져 오는 방법

분류에서Dev

LINQ를 사용하여 DataTable에서 고유 한 열을 가져 오는 방법

분류에서Dev

Python을 사용하여 json에서 데이터를 가져 오는 방법

분류에서Dev

node.js를 사용하여 mongodb에서 항목을 가져 오는 방법

분류에서Dev

iOS에서 URL을 사용하여 이미지를 가져 오는 방법

분류에서Dev

nodejs를 사용하여 Apache Storm에서 출력을 가져 오는 방법

분류에서Dev

C를 사용하여 XML에서 속성 값을 가져 오는 방법

분류에서Dev

Javascript를 사용하여 연관 배열에서 값을 가져 오는 방법

분류에서Dev

QtQuick ListView를 사용하여 onCurrentItemChanged에서 모델을 가져 오는 방법

분류에서Dev

ajax를 사용하여 json api에서 json 배열을 가져 오는 방법

분류에서Dev

Xamarin에서 MediaPlayer를 사용하여 추적 기간을 가져 오는 방법

분류에서Dev

앱 테 더링을 사용하여 서버에서 이미지를 가져 오는 방법

분류에서Dev

AFnetworking get 메서드를 사용하여 URL에서 HTML을 가져올 때 헤더에 참조 URL을 설정하는 방법

분류에서Dev

$ _SERVER [ 'QUERY_STRING']을 사용하여 URL에서 쿼리 문자열의 일부를 가져 오는 방법

분류에서Dev

노드 js를 사용하여 https get 요청에서 요청 본문을 가져 오는 방법

분류에서Dev

자바 스크립트를 사용하여 문자열에서 값을 가져 오는 방법

Related 관련 기사

  1. 1

    C #을 사용하여 API의 요청에서 헤더를 가져 오는 방법

  2. 2

    angular2를 사용하여 MockBackend에서 헤더를 가져 오는 방법

  3. 3

    API를 사용하여 Google 문서에서 제목을 가져 오는 방법

  4. 4

    Powershell에서 RestApi를 사용하여 AzureDevOps에서 작업 항목을 가져 오는 방법

  5. 5

    zip ()을 사용하여 목록에서 빌드 된 pandas-Dataframe에서 두 번째 헤더를 가져 오는 방법

  6. 6

    PowerShell을 사용하여 처음에 CSV 파일에 헤더를 추가하는 방법

  7. 7

    Fetch API를 사용하여 CORS 요청에서 헤더 필드를 가져 오는 방법

  8. 8

    RxDatasource를 사용하여 여러 헤더가있는 UICollectionView에서 여러 섹션을 만드는 방법

  9. 9

    Word Interop을 사용하여 Word 문서에서 특정 단어의 범위를 가져 오는 방법

  10. 10

    Powershell Get-Azvm을 사용하여 Azure에서 VM 목록의 상태를 가져 오는 방법

  11. 11

    HTTP API를 사용하여 Raven에서 문서를 가져 오는 방법

  12. 12

    AWS Lambda를 사용하여 웹 페이지를 가져오고 본문과 헤더를 반환하는 방법

  13. 13

    mysql에서 case 문을 사용하여 3 열의 데이터를 하나로 가져 오는 방법

  14. 14

    IronPython을 사용하여 Python 파일에서 변수를 가져 오는 방법

  15. 15

    LINQ를 사용하여 DataTable에서 고유 한 열을 가져 오는 방법

  16. 16

    Python을 사용하여 json에서 데이터를 가져 오는 방법

  17. 17

    node.js를 사용하여 mongodb에서 항목을 가져 오는 방법

  18. 18

    iOS에서 URL을 사용하여 이미지를 가져 오는 방법

  19. 19

    nodejs를 사용하여 Apache Storm에서 출력을 가져 오는 방법

  20. 20

    C를 사용하여 XML에서 속성 값을 가져 오는 방법

  21. 21

    Javascript를 사용하여 연관 배열에서 값을 가져 오는 방법

  22. 22

    QtQuick ListView를 사용하여 onCurrentItemChanged에서 모델을 가져 오는 방법

  23. 23

    ajax를 사용하여 json api에서 json 배열을 가져 오는 방법

  24. 24

    Xamarin에서 MediaPlayer를 사용하여 추적 기간을 가져 오는 방법

  25. 25

    앱 테 더링을 사용하여 서버에서 이미지를 가져 오는 방법

  26. 26

    AFnetworking get 메서드를 사용하여 URL에서 HTML을 가져올 때 헤더에 참조 URL을 설정하는 방법

  27. 27

    $ _SERVER [ 'QUERY_STRING']을 사용하여 URL에서 쿼리 문자열의 일부를 가져 오는 방법

  28. 28

    노드 js를 사용하여 https get 요청에서 요청 본문을 가져 오는 방법

  29. 29

    자바 스크립트를 사용하여 문자열에서 값을 가져 오는 방법

뜨겁다태그

보관