Microsoft.Office.Interop.Word.WdSaveFormat
을 사용하여 Word에서 일련의 html 파일을 반복적으로 열고 Word 및 Text를 각각 wdFormatDocument
및 wdFormatDOSText
매개 변수를 사용하여 저장하는 Powershell (2.0) 스크립트가 있습니다. 스크립트에는 각 문서 유형에 대한 별도의 기능이 있습니다.Powershell : 가질 수있는 출력 파일 형식의 수에는 제한이 있습니까?
어제는 요구 사항이 변경되어 이제 RTF 문서도 출력해야합니다. 나는 $saveFormatRTF
변수
$saveFormatDoc = [Enum]::Parse([Microsoft.Office.Interop.Word.WdSaveFormat], "wdFormatDocument");
$saveFormatTxt = [Enum]::Parse([Microsoft.Office.Interop.Word.WdSaveFormat], "wdFormatDOSText");
$saveFormatRTF = [Enum]::Parse([Microsoft.Office.Interop.Word.WdSaveFormat], "wdFormatRTF");
를 추가하고 다음과 같은 오류가 있어요.
Unable to find type [Microsoft.Office.Interop.Word.WdSaveFormat]: make sure that the assembly containing this type is l
oaded.
At C:\users\x46332\Desktop\cgc\CGC002.PS1:68 char:76
+ $saveFormatDoc = [Enum]::Parse([Microsoft.Office.Interop.Word.WdSaveFormat] <<<< , "wdFormatDocument");
+ CategoryInfo : InvalidOperation: (Microsoft.Offic...rd.WdSaveFormat:String) [], RuntimeException
+ FullyQualifiedErrorId : TypeNotFound
Unable to find type [Microsoft.Office.Interop.Word.WdSaveFormat]: make sure that the assembly containing this type is l
oaded.
At C:\users\x46332\Desktop\cgc\CGC002.PS1:69 char:76
+ $saveFormatTxt = [Enum]::Parse([Microsoft.Office.Interop.Word.WdSaveFormat] <<<< , "wdFormatDOSText");
+ CategoryInfo : InvalidOperation: (Microsoft.Offic...rd.WdSaveFormat:String) [], RuntimeException
+ FullyQualifiedErrorId : TypeNotFound
Unable to find type [Microsoft.Office.Interop.Word.WdSaveFormat]: make sure that the assembly containing this type is l
oaded.
At C:\users\x46332\Desktop\cgc\CGC002.PS1:70 char:76
+ $saveFormatRTF = [Enum]::Parse([Microsoft.Office.Interop.Word.WdSaveFormat] <<<< , "wdFormatRTF");
+ CategoryInfo : InvalidOperation: (Microsoft.Offic...rd.WdSaveFormat:String) [], RuntimeException
+ FullyQualifiedErrorId : TypeNotFound
Word 및 텍스트로 변환하는 스크립트를 실행하면 정상적으로 작동합니다. RTF를 단독으로 실행하면됩니다. 그러나 스크립트에서 RTF를 다른 출력 형식과 결합 할 때마다 스크립트에서 참조되는 모든 출력 형식이 "찾을 수 없음"으로 표시됩니다. RTF를 자체적으로 내보낼 필요가 있습니까? 하나의 스크립트에서 몇개의 출력 파일 타입을 가질 수 있는지에 대한 제한이 있습니까? 설정하지 않은 매개 변수가 있습니까?
출력이 정확하고 MSDN의 단서를 스캔했지만이 동작을 일으킬 수있는 항목, 특히 RTF를 믹스에 추가 할 때 예기치 않은 결과를 찾을 수 없습니다. 어떤 아이디어?
새로운 Powershell 2 세션을 시작하면'[System.Reflection.Assembly] :: LoadWithPartialName ("Microsoft.Office.Interop.Word")'을 실행 한 다음 3 줄의 코드를 복사하여 붙여 넣으십시오. 공장. 모두 개별적으로 잘 작동합니다. 죄송합니다. 어떤 식 으로든 재현 할 수 없습니다. 나를 위해, 그것은'C : \ Windows \ assembly \ GAC_MSIL \ Microsoft.Office.Interop.Word \ 14.0.0.0__71e9bce111e9429c \ Microsoft.Office.Interop.Word.dll'을 사용합니다. – Joost