플로피 (Microsoft Word)에 문서 사본 자동 저장
이전 버전의 WordPerfect 사용자는 문서의 조건을 수정하거나 일반적으로 저장되는 위치를 변경하지 않고 현재 문서의 복사본을 A : 드라이브에 저장할 수있는 명령에 익숙 할 것입니다. 따라서 C : \ My Docs \ MyFile.doc를 열고이 명령을 시작하면 파일의 복사본이 A :에 만들어지고 다음에 저장 명령을 사용할 때 파일이 여전히 정상적인 위치에 저장됩니다. C :에서.
Word에는 그러한 기능이 포함되어 있지 않으며 일부 사람들은 그렇게해야한다고 생각합니다.
이러한 명령의 자연스러운 위치는 파일 메뉴에서 사용할 수있는 보내기 하위 메뉴 인 것 같습니다. 일반적으로이 하위 메뉴는 직접 팩스 또는 전자 메일 연결 사용을 허용하는 기본 Word 명령에 사용되므로 몇 가지 항목 만 포함합니다. 다행히 Word의 다른 메뉴 또는 하위 메뉴와 같으며 사용자 지정할 수 있습니다. 메뉴를 사용자 정의하는 방법은 _WordTips_의 다른 문제에서 광범위하게 다루었습니다.
하위 메뉴에 추가하는 것이 다소 쉽기 때문에 문제는 실제 복사를 수행하거나 A : 드라이브에 저장하라는 명령이 있습니다. 원하는 효과를 얻기위한 기본 Word 명령이 없기 때문에 사용자 지정 매크로가 구출됩니다.
한 가지 방법은 현재 문서를 A : 드라이브에 저장하는 것입니다. 문제는 그 시점부터 Word가 문서가 A : 드라이브에 속한다고 생각한다는 것입니다. 해결책은 파일의 현재 위치를 저장하고 A :에 저장 한 다음 다시 저장하지만 이번에는 원래 위치에 저장하는 것입니다. 다음 매크로는 몇 가지 간단한 단계로이를 수행합니다.
Sub FileCopyToA() Dim OrName As String OrName = ActiveDocument.FullName ActiveDocument.SaveAs "A:\" + ActiveDocument.Name ActiveDocument.SaveAs OrName End Sub
그러나 이러한 간단한 접근 방식에는 단점이 있습니다. 첫째 (그리고 잠재적으로 가장 중요한) 큰 파일로 작업하는 경우 A : 드라이브에 맞지 않을 수 있습니다. 이 경우 매크로는 무시할 수없는 죽음으로 죽고 파일을 원래 위치에 다시 저장하여 수동으로 복구하는 단계를 수행해야합니다. 이 매크로의 또 다른 사실은 A : 드라이브에있는 기존의 동일한 이름 문서를 덮어 쓴다는 것입니다. 마지막으로, 문서를 저장하지 않고 A :에 대한 스냅 샷 만 원하는 경우이 매크로는 적합하지 않습니다.
FileCopyToA 매크로의 좀 더 유연한 버전은 DoubleCopy로, 실제로 복사하기 전에 사용자에게 드라이브를 입력하라는 메시지를 표시합니다.
불행히도 일반적인 단점도 동일합니다.
Sub DoubleCopy() Dim Message As String, Title As String Dim Default As String, Drive As String Dim ffname as String, fname as String On Error GoTo Quit Message = "Enter drive letter for document (A, C, D)" Title = "Send Document to File" Default = "A" ' Display message, title, and default value Drive = InputBox(Message, Title, Default) If Drive > "" Then ffname = ActiveDocument.FullName fname = Drive & ":\" & ActiveDocument.Name ActiveDocument.SaveAs fname ActiveDocument.SaveAs ffname End If Quit: End Sub
지금까지 제시된 접근 방식의 다른 단점 중 하나는 속도가 매우 느릴 수 있다는 것입니다. Word는 문서를 플로피 드라이브에 저장할 때 본질적으로 느립니다. 문서가 매우 작지 않은 경우 하드 드라이브에 저장 한 다음 복사 명령을 사용하여 파일을 플로피에 복사하는 것이 더 빠릅니다. 다음 매크로 SentToDriveA는이 접근 방식을 사용합니다.
Sub SentToDriveA() If ActiveDocument.Saved = False Then ActiveDocument.Save System.Cursor = wdCursorWait OrigLongFileName = ActiveDocument.Name OldPath = ActiveDocument.Path & Application.PathSeparator If ActiveDocument.Path = "" Then MsgBox "Please save this document before sending to drive A:", _ vbOKOnly, "This Document Not Saved" Else Documents(ActiveWindow.Caption).Close FileCopy OldPath & OrigLongFileName, "a:\" & OrigLongFileName Documents.Open FileName:=OldPath & OrigLongFileName Application.GoBack End If System.Cursor = wdCursorNormal End Sub
매크로는 먼저 현재 문서가 하드 드라이브에 저장되었는지 확인합니다. (즉, 새 문서가 아닙니다.) 그런 다음 문서를 닫고 A :에 복사 한 다음 문서를 다시 엽니 다. 닫는 이유는 Word에서 열린 문서의 복사를 허용하지 않기 때문입니다. 문서가 닫히기 때문에이 매크로를 Normal.Dot 템플릿이나 다른 전역 템플릿에 저장하는 것이 중요합니다.
마지막으로 A :에 복사하기 전에 실제로 하드 드라이브에 저장하지 않고 현재 문서의 “스냅 샷”을 찍는 매크로를 만들려면 문서를 복제 한 다음 A에 복사본을 저장해야합니다. :. 그러나 전체 문서를 복사하려면 텍스트 콘텐츠를 가져 와서 새 문서로 전달하는 약간의 노력이 필요합니다. Word 문서는 본문, 머리글 및 바닥 글, 각주 등을 나타내는 청크로 나뉩니다. 이들은 각 StoryRange에 StoryType이있는 StoryRange를 사용하여 VBA에서 참조됩니다. 다음 매크로는 각 StoryRanges를 새 문서에 복사 한 다음 A에 새 문서를 저장하라는 메시지를 표시합니다.
Public Sub CopyToA() Dim docActive As Document Dim docNew As Document Dim rngActiveDocPart As Range Dim rngNewDocPart As Range Dim strDocName As String Dim strTemplateName As String ' reference the current document Set docActive = ActiveDocument ' get the name of doc and also path/name ' of the template it's based-on strDocName = docActive.Name strTemplateName = docActive.AttachedTemplate.FullName ' create a copy document based on same template Set docNew = Documents.Add(strTemplateName) ' loop to copy each part of the active doc to the new doc For Each rngActiveDocPart In docActive.StoryRanges ' reference same part Set rngNewDocPart = docNew.StoryRanges _ (rngActiveDocPart.StoryType) rngActiveDocPart.Copy rngNewDocPart.Paste Next rngActiveDocPart ' make the new document active docNew.Activate ' offer to save it on floppy drive A:\ With Dialogs(wdDialogFileSaveAs) .Name = "A:\" & strDocName .Show End With End Sub
이 최종 접근 방식은 새로 생성 된 사본 문서가 저장 후 닫히도록 수정 될 수 있습니다. 이렇게하면 매크로가 완료되었을 때 원본 문서가 디스크에 저장되지 않은 상태로 열린 상태로 유지됩니다.
이 팁에 설명 된 모든 기술이 흥미롭게 들리지만 시스템에 플로피 드라이브가없는 경우 실망하지 마십시오. 동일한 매크로를 사용하여 플래시 드라이브에 복사본을 저장할 수도 있습니다. 플래시 드라이브의 드라이브 문자를 알고있는 한 매크로에서 A : 드라이브 지정자를 해당 드라이브 문자로 대체하십시오.
(매력처럼 작동합니다.)
_ 참고 : _
이 페이지 (또는 WordTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / wordribbon-WordTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_WordTips_는 비용 효율적인 Microsoft Word 교육을위한 소스입니다.
(Microsoft Word는 세계에서 가장 인기있는 워드 프로세싱 소프트웨어입니다.)이 팁 (1715)은 Microsoft Word 97, 2000, 2002 및 2003에 적용됩니다.