2016-08-18 1 views
0

Excel을 사용하여 Word 문서를 여는 간단한 매크로가 있습니다. Word Object Library가 제대로 참조되었는지 확인했지만이 매크로를 실행하면 Documents.Open이 호출 된 후 정지되었습니다 (디버거에서 어디에서 오류가 발생했는지 알았을 때). 그것이 OLE 자동화 오류인지 모르겠지만 매크로가 멈추고 Excel을 닫아야합니다. VBA Excel - 기존 Word 문서 파일을 열 수 없습니다.

Public Const Dir = "C:/Temp/" 
Public Const File = "temp.docx" 

Public Sub OpenFile() 

Dim f As String: f = Dir & File 

Dim oWord As Object, oDoc As Object 
Set oWord = CreateObject("Word.Application") 

Set oDoc = oWord.Documents.Open(f) 
oDoc.Visible = True 

End Sub 

은 나뿐만 아니라이 메시지 :

enter image description here

Excel에서 파일을 열고 어떻게 내 프로그램을 다시 작성에 대한 대안이 있는가 (열려있는 다른 응용 프로그램이없는 경우에도)?

요청으로
+1

예약어 인 Dir 변수를 변경해 보았는데 그 단어를 열려고하면 Word 오류가 발생합니다. 파일". 또한 "File"변수 이름도 변경해야합니다 - 예약어에 따라 예약어가 될 수도 있습니다 – dbmitch

+1

또한'pthWordLocation' 및'flnmWordTemplate'와 같은 접두사는 예약어 사용의 위험을 없애줍니다. 만약 당신이 라이브러리를 참조했다면,'dim wdApp as word.application'과'dim wdDocument as word.document'를 사용하십시오. –

+1

@dbmitch 놀랍게도 .... 그 결론에 어떻게 왔는지 모르겠습니다. 대답 해주세요. – BDillan

답변

0

는 - 그 예약 된 이름입니다 - - 그리고 당신은 아마 당신이 "파일을 열 때 볼 수없는 워드 오류가 발생하고 이것은 당신은 당신의 Dir 변수를 변경해야합니다 일반적인 문제

입니다 ".

또한 너무 당신의 File 변수 이름을 변경해야합니다 -이 될 수 예약어를 너무 당신이

을 설정 한 참조에 따라

추가 코멘트 : 그것과 관련이

을 동결 - oDoc.Visible = True 문을 제거하고 oWord.Visible = TrueBEFORE 문제 문 Set oDoc = oWord.Documents.Open(f)으로 바꿀 수 있습니다. 그러면 파일 이름에 문제가 있음을 나타내는 오류가 팝업됩니다.

+0

OT : 제한된 이름 변수를 사용하는 오타라고 간주 될 수 있으므로이 옵션을 사용하지 마십시오. – Sgdva

+0

@Sgdva - 그 이유를 어디에서 알게 되었습니까? 언제든지 질문을 중복으로 또는 어떤 이유로 닫아 둘지는 모르겠지만 오타는이 사이트의 일반적인 질문입니다. 나는 그 이유 때문에 내가 폐쇄 된 것을 본 적이 없다고 믿는다. 나를 비추시오. – dbmitch

+1

인용구 :에 [2. ... 더 이상 재현 할 수 없거나 간단한 인쇄상의 오류로 인한 문제에 대한 질문 ...] (http://stackoverflow.com/help/on-topic) 오늘도. – Sgdva