2009-11-09 3 views
4

Microsoft Office 2003을 사용하고 일부 작업을 표준화하기 위해 많은 템플릿 문서를 만듭니다. 나는이 질문에 Superuser.com에 응답을 얻지 못했고, 나는 너무 프로그램 적이라고 생각하고있어, 여기서 더 나은 행운이 있기를 바란다.프로그래밍 및 디버깅 시작 Microsoft Office 자동화

많은 Office (주로 Word) 템플릿을 사용하는 작업 과정을 자동화해야합니다. 내가 원하는 것은 공유 드라이브의 "My Foo Bar Stuff"에 "My Template Foo.dot"및 "My Template Bar.dot"등을 넣고 사용자가 템플릿을 두 번 클릭하여 새 Foo를 만들거나 바.

내가 좋아하는 것은 사용자가 Foo 템플릿을 두 번 클릭하고 프로젝트와 관련된 몇 가지 항목 (예 : 프로젝트 번호)을 묻는 메시지를 표시하고 템플릿의 스크립트에 Save는 "Foo for Project 1234.doc"와 같은 기본값이 될 것입니다.

나는 Google Groups에 물었고 잠시 동안 대답을 얻었다. 그런 다음 템플릿을 두 번 클릭하여 새 문서를 만들 때 내 AutoNew 매크로가 시작되지 않았습니다. 왜 또는 어떻게 디버깅하는지 나는 모른다. 클래스 모듈 /이 응용 프로그램에서

, 나는이 : Microsoft Word의 개체에서

Sub AutoNew() 
    Dim Project As String 
    Project = InputBox("Enter the Project Number") 
    ActiveDocument.SaveAs "Project " & Project & " Notes.doc" 
End Sub 

는 /의 ThisDocument, 나는이 :

Private Sub Document_New() 

End Sub 

난 정말 아무 생각이 왜 또는 어디에서 온 그.

도구/매크로 보안 ... 보안 수준을 "낮음"으로 설정했습니다.

저는 25 년 이상의 경험을 갖춘 소프트웨어 엔지니어링이지만 완벽한 Office 자동화 놈입니다. 특정 솔루션 및 "이 방법을 사용하여 Word를 자동화하는 방법"FAQ를 환영합니다. 감사.


업데이트 : 새 템플릿을 작성하는 경우 (새 ... 새 문서는 "나의 새로운 Template.dot"다른 이름으로 저장), 삽입은 AutoNew() 매크로, 그것을 작동합니다. 그렇다면 기존 템플릿에 대한 작업을 방해하는 요소는 무엇입니까?

업데이트 2 : 이전 템플릿에서 모듈 및 기능을 제거하고 다시 추가하는 것도 효과가 있습니다.

+0

AutoNew 매크로 코드 게시를 고려하십시오. 내 생각 엔 Word의 "자동 시작"기능과의 연결이 끊어 졌거나 매크로가 시작되지 않도록 Microsoft에서 추가 한 새로운 보안 패치가 있습니다. –

+1

@Robert - 또는 누군가가 템플릿의 매크로를 끈 다음 템플릿을 통해 공유 폴더에 저장했습니다. 나는 그것이 너무 많은 시간을 셀 수 있다는 것을 보았습니다. –

+0

@ Justin : 템플릿에서 매크로를 어떻게 해제합니까? 응용 프로그램 옵션이 아닌가요? –

답변

0

매크로가 여전히 템플릿에 포함되어 있는지 확인하십시오. 이 바보 같은 소리 그러나 다음과 같은 경우 Word 2003에서, 너무, 나에게 안나오는 :

  1. 템플릿이 포함 매크로,
  2. 이 을 기반으로 새 문서 파일을 만듭니다 미세 모든 매크로, 매크로 차기 만들기
  3. 공지 사항에서 여기 템플릿 을 향상시킬 수 있고, 조금, 나는 그것을 .DOT 사라의
  4. 매크로 기능 2에서 생성 한 파일)와 다른 이름으로 저장 .DOT에 존재한다!

왜? .DOT에 저장된 코드가 doc 파일로 넘어 가지 않기 때문입니다.

1

저장된 서식 파일에 서식 파일을 첨부하여 해당 서식 파일에 포함 된 매크로에 액세스 할 수 있습니다.

이 작업은 Document 개체 (즉, ActiveDocument)의 AttachedTemplate 속성을 사용하여 수행 할 수 있습니다. 나는 이것을 직접 시도하지 않았다는 것을 유의하십시오.

Sub AutoNew() 
    Dim Project As String 
    Project = InputBox("Enter the Project Number") 
    ActiveDocument.SaveAs "Project " & Project & " Notes.doc" 

    ActiveDocument.AttachedTemplate = "\\path\to\templates\My Template Foo.dot" 

End Sub 

도움이 MSDN - Word 2003 VBA Language Reference - AttachedTemplate Property

희망을 참조하십시오.

관련 문제