참고: 지식인이 글은 워드 파일을 열었을 때 마지막에 편집했던 페이지로 돌아가는 기능에 대한 것입니다. 예전 워드2003시절에는 Shift+F5키로 마지막 저장 페이지로 이동할 수 있으나요즘 버전에서는 지원하지 않는 기능입니다. VBA에서도 아래와 같이 이전 책갈피 위치로 돌아가는 명령어가 사용가능했지만 현재는 작동하지 않습니다.Application.GoBackSelection.GoTo What:=wdGoToBookmark, Name:="\PrevSel1" 대신 저장하고 파일을 열면 아래와 같은 표시가 떠서 이걸 누르면 이전에 저장했던 페이지로 이동할 수는 있습니다.자동으로 마지막으로 편집하던 페이지가 열리게 하려면 아래와 같은 VBA를 이용해야겠습니다. AutoClose 함수를 이용해서 파일을 닫을..
DOC+VBA 검색 결과
워드 문서가 페이지 수가 너무 많아서 로딩이나 스크롤이 오래걸리고 지연될 때긴 문서를 일정 단위로 분할하여 저장하는 워드 VBA입니다. 일단 아래 코드는 테스트를 위해 현재 워드 문서에 원하는 만큼의 빈 페이지를 추가하고각 페이지 상단에 페이지 번호를 추가합니다.Sub AddPagesAndPageNums() Dim i As Long Dim totalPages As Long Dim rng As Range ' 총 페이지 수를 100으로 설정 totalPages = 100 ' 문서에 페이지가 부족하면 추가 While ActiveDocument.ComputeStatistics(wdStatisticPages) 아래 코드는 현재 문서를 20페이지씩 분할하여 0001.docx, 0002.docx, 0..
워드 문서의 1페이지마다 사진(또는 사진 설명 포함)을 하나씩 일괄로 삽입하는 방법입니다. 매크로 안쓰는 방법1. 파워포인트에서 삽입 > 사진 앨범 기능으로 사진 100장 일괄 삽입2. 다른이름으로 저장이나 내보내기에서 PDF로 저장3. MS워드에서 PDF파일 불러오기 > 자동 변환또는 아래와 같은 VBA를 이용할 수 있습니다. ChatGPT코드를 활용하였으나 오류가 다수 발생하여 대폭 수정하였습니다. 더보기Option ExplicitSub InsertImagesCenteredOnEachPage() Dim imgFolder As String Dim imgFile As String Dim imgPath As String, sExt As String Dim doc As..
여기서 읽기전용이라 함은 워드문서를 열고 파일 > 정보에서 항상 읽기 전용으로 열기를 설정한 상태를 말합니다. 이 경우 항상 파일을 열 때 아래처럼 읽기 전용을 해제해야 편집이 가능합니다. 이러한 읽기전용으로 표시된 파일이 여러 개인 경우 일괄로 해제하는 매크로입니다. 1. 첨부 파일 다운로드 후 파일속성> 차단해제 > 확인, 파일 열 때 매크로 허용. 2. Alt-F8로 ReadOnlyOff 매크로실행 3. 읽기 전용 워드 문서가 들어 있는 폴더 안에 들어가서 ‘확인’ 버튼 클릭 4. 완료 첨부파일을 차단해제 체크하고 확인한 후에 매크로 허용해서 열고 Alt-F8을 눌러서 ReadOnlyOff 매크로를 실행하고 워드 문서들이 들어 있는 폴더 안에 들어가서 '확인'버튼을 누르면 읽기전용 권장 속성을 해제..
관련: 지식인 워드 문서내에서 특정 날짜를 여러 군데 입력하고 나중에 이 날짜를 수정할 때 찾기> 바꾸기를 이용할 수 있지만 자주 바꿔야 하고 바꿀 내용이 여러 개라면 복잡해집니다. 날짜를 한 군데만 바꾸면 나머지 부분도 모두 바뀌게 하려면 [XML Mapping]이라는 기능을 이용할 수 있습니다. [XML Mapping] 은 마치 아래한글의 메일머지에서 {{이름}} 이런 식으로 필드명을 표시해두는 것처럼 문서 내에 미리 정의된 특정한 필드를 삽입해 놓고 서로 연결되어 관리할 수 있는 기능입니다. 특히 어떤 위치의 데이터를 수정해도 모든 데이터가 한꺼번에 수정되는 점이 편리합니다. 먼저 필요한 필드명을 XML 로 정의합니다. 아래와 같은 형식입니다. (참고: https://gregmaxey.com/wor..
아래 코드는 현재 파워포인트 파일의 모든 슬라이드에서 개체의 이름이 'Google shape;'로 시작하는 모든 개체를 찾아 그 안의 텍스트를 같은 이름의 워드 파일에 계속 쭉 출력해주는 예시입니다. 찾을 개체 이름에는 *나 ? 같은 문자를 사용할 수 있습니다. 워드 문서에 출력시 각 슬라이드 번호는 구분을 위해 진한 글씨로 출력합니다. 기본 글자크기는 15입니다. Option Explicit '찾을 도형 이름 'Const TargetShape = "텍스트 개체틀 1*" Const TargetShape = "Google Shape;*" Sub Extract2Docx() 'Dim W As Word.Application, D As Word.Document Dim W As Object, D As Object ..
관련: 지식인1, 지식인2, 지식인3 아래내용은 위 링크 1번에서 질문자님의 질문에 대한 지식인 '큰형'님의 소스를 기반으로 수정한 내용입니다. 데이터는 아래와 같은 엑셀문서 양식에 들어 있습니다. 2행에 있는 여러가지 "{항목}" 문자열을 찾아서 워드문서 생성이 O 라면 각 행의 데이터로 바꿔서 아래 워드 문서를 만들어서 지정된 파일명으로 저장하는 일괄처리 작업입니다. 작업을 위해서는 기준이 될 워드문서 내에 {항목}과 같은 표시가 만들어져 있어야 합니다. {항목}은 1개가 아니라 여러군데 있어도 됩니다. 예전 아래한글 프로그램에 있던 메일머지 기능과 유사합니다. 엑셀 데이터를 기반으로 여러장의 워드 문서를 만들 때 유용하겠습니다. 코드는 아래를 참고하세요. 더보기 Option Explicit Sub ..
지난 번에 PPT 를 워드로 변환하는 매크로를 올렸는데 (https://konahn.tistory.com/entry/ConvertPPT) 이번에는 반대로 워드 DOC (혹은 한글 HWP)를 PPT 슬라이드로 변환하는 VBA 매크로입니다. 관련 지식인 질문: https://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1020202&docId=346624913&page=1#answer1 한글HWP 파일은 워드로 변환저장기능이 있기 때문에 여기서는 워드를 PPT로 저장하는 데 주안점을 둡니다. 워드 document의 각 페이지를 하나의 슬라이드로 붙여넣기 때문에 워드문서를 가로 페이지로 먼저 바꾸고 Ctrl-Enter로 페이지를 미리 나눠주는 게 좋습니다. 프리젠테이션으로 변환할..
최근댓글