ðŸ VBA 㧠Word ãã¡ã€ã«ãä¿åããæ¹æ³ããã¯ã掻çšã

VBA (Visual Basic for Applications)ã䜿çšãããšãWordãã¡ã€ã«ã®ä¿åäœæ¥ãèªååããããšãã§ããŸããæ¬èšäºã§ã¯ãVBAãã掻çšããŠWordãã¡ã€ã«ãä¿åããæ¹æ³ã詳ãã解説ããŸããå ·äœçãªã³ãŒãäŸãçšããŠããã¡ã€ã«ã®ä¿åå æå®ããã¡ã€ã«åã®èšå®ãä¿å圢åŒã®éžæãªã©ãåºæ¬çãªæé ããå¿çšçãªãã¯ããã¯ãŸã§çŽ¹ä»ããŸããVBAãã®ç¥èãæµ ããŠããæé ã«æ²¿ã£ãŠæäœããããšã§ãå¹ççãªFileæäœãå¯èœã«ãªãã§ãããããã²ãWordãã¡ã€ã«ã®ä¿åäœæ¥ãå¹çåããäœæ¥æéãå€§å¹ ã«åæžããæ¹æ³ããã¹ã¿ãŒããŸãããã
- VBA ã䜿çšã㊠Word ãã¡ã€ã«ãä¿åããæ¹æ³
- Wordã®ãã¯ããä¿åããã«ã¯ã©ãããã°ããã§ããïŒ
- ãã¯ãã¯ãªããã¡ãªã®ã§ããããïŒ
- ãã¯ãã§ä¿åããã«ã¯ã©ãããã°ããã§ããïŒ
- Wordã®VBAã§ã§ããããšã¯ïŒ
- ãããã質å
- Q1: VBAã䜿çšããŠWordãã¡ã€ã«ãä¿åããæ¹æ³ãæããŠãã ããã
- Q2: æ¢åã®Wordãã¡ã€ã«ãäžæžãä¿åããæ¹æ³ã¯?
- Q3: Wordãã¡ã€ã«ãç¹å®ã®åœ¢åŒã§ä¿åããæ¹æ³ã¯?
- Q4: ä¿åå ã®ãã©ã«ããŒãååšããªãå Žåã¯ã©ããããããã§ãã?
VBA ã䜿çšã㊠Word ãã¡ã€ã«ãä¿åããæ¹æ³
Word ã§äœæããããã¥ã¡ã³ãã VBA ãã䜿ã£ãŠä¿åããæ¹æ³ã説æããŸããVBA ã䜿ã£ãŠãã¡ã€ã«ãä¿åããããšã§ãå®åçãªäœæ¥ãèªååããå¹ççã«äœæ¥ãè¡ããããã«ãªããŸãã
ãdeauxã¡ã³ãã®ä¿åå ãæå®ãã
Word ããã¥ã¡ã³ããä¿åããéã«ã¯ãä¿åå ã®ãã©ã«ããæå®ããå¿ èŠããããŸããVBA ã§ã¯ãFileDialog ãªããžã§ã¯ãã䜿çšããŠããŠãŒã¶ãŒã«ä¿åå ãã©ã«ããéžæãããããšãã§ããŸãã
ãã¡ã€ã«åãèšå®ãã
ä¿åãããã¡ã€ã«åã¯ãActiveDocument.SaveAs2 ã¡ãœããã䜿çšããŠèšå®ããŸãããã¡ã€ã«åã«ã¯ãããã¥ã¡ã³ãã®ã¿ã€ãã«ãæ¥ä»ãªã©ã®æ å ±ãå«ããããšã§ã管çããããããªããŸãã
ãã¡ã€ã«åœ¢åŒãéžæãã
Word ã§ãµããŒããããŠããããŸããŸãªãã¡ã€ã«åœ¢åŒïŒäŸãã°ã.docxã.pdf ãªã©ïŒã§ä¿åããããšãã§ããŸããActiveDocument.SaveAs2 ã¡ãœããã®åŒæ°ã§ãã¡ã€ã«åœ¢åŒãæå®ããŸãã
æ¢åã®ãã¡ã€ã«ãäžæžãä¿åãã
æ¢åã®ãã¡ã€ã«ãäžæžãä¿åããå ŽåãActiveDocument.Save ã¡ãœããã䜿çšããŸãããã®ã¡ãœãããå®è¡ãããšãçŸåšã®ããã¥ã¡ã³ããæåŸã«ä¿åãããå Žæãšåããã¹ã«äžæžãä¿åãããŸãã
ä¿ååŠçã®ãšã©ãŒåŠç
ãã¡ã€ã«ä¿åæã«ãšã©ãŒãçºçããå Žåã¯ãé©åãªãšã©ãŒåŠçãè¡ãããšãéèŠã§ããäŸãã°ãä¿åå ãã©ã«ããååšããªãå Žåãããã¡ã€ã«åãéè€ããŠããå Žåã«ããŠãŒã¶ãŒã«éç¥ããé©åãªå¯ŸåŠæ³ãæ瀺ããå¿ èŠããããŸãã
é ç® | 説æ |
---|---|
ä¿åå æå® | FileDialog ãªããžã§ã¯ãã§ä¿åå ãã©ã«ããéžæ |
ãã¡ã€ã«åèšå® | ActiveDocument.SaveAs2 ã¡ãœããã§ãã¡ã€ã«åãèšå® |
ãã¡ã€ã«åœ¢åŒéžæ | ActiveDocument.SaveAs2 ã¡ãœããã®åŒæ°ã§ãã¡ã€ã«åœ¢åŒãæå® |
äžæžãä¿å | ActiveDocument.Save ã¡ãœããã§æ¢åãã¡ã€ã«ãäžæžãä¿å |
ãšã©ãŒåŠç | ä¿ååŠçæã®ãšã©ãŒã«å¯ŸåŠãã |
Wordã®ãã¯ããä¿åããã«ã¯ã©ãããã°ããã§ããïŒ
Wordã®ããä¿åããã«ã¯ã以äžã®æé ã«åŸã£ãŠãã ããã
ããé²ç»ãã
ããä¿åããåã«ããŸãããé²ç»ããå¿ èŠããããŸãã以äžã®æé ã§ããé²ç»ããŸãã
- Wordã§ããã¥ã¡ã³ããéããŸãã
- 衚瀺ã¿ããã¯ãªãã¯ããŸãã
- ããã¯ãªãã¯ãããã®é²ç»ãéžæããŸãã
- ãã«ååãä»ããŠãOKãã¯ãªãã¯ããŸãã
- desiredã®ã¢ã¯ã·ã§ã³ãå®è¡ããŸãã
- ãã®é²ç»ãåæ¢ããã«ã¯ããã®é²ç»ãããäžåºŠã¯ãªãã¯ããŸãã
ããä¿åãã
ããé²ç»ãããã以äžã®æé ã§ããä¿åããŸãã
- ãã¡ã€ã«ã¿ããã¯ãªãã¯ããŸãã
- ååãä»ããŠä¿åãéžæããŸãã
- ãã¡ã€ã«ã®çš®é¡ãšããŠWordã察å¿ããã¥ã¡ã³ã (.docm)ãéžæããŸãã
- ããã¥ã¡ã³ãã«ååãä»ããŠãä¿åãã¯ãªãã¯ããŸãã
ããå®è¡ãã
ä¿åããããå®è¡ããã«ã¯ã以äžã®æé ã«åŸã£ãŠãã ããã
- 衚瀺ã¿ããã¯ãªãã¯ããŸãã
- ããã¯ãªãã¯ããŸãã
- å®è¡ããããéžæããå®è¡ãã¯ãªãã¯ããŸãã
ããã§ãWordã§ããé²ç»ãä¿åãããã³å®è¡ããæ¹æ³ãããããŸããããã䜿çšãããšãç¹°ãè¿ãã¿ã¹ã¯ãèªååããäœæ¥ãå¹çåã§ããŸãã
ãã¯ãã¯ãªããã¡ãªã®ã§ããããïŒ
ãã¯ãªããã¡ãªã®ã§ããããïŒ
ãã¯ãã³ã³ãã¥ãŒã¿ããã°ã©ãã³ã°ã«ãããŠãäžå®ã®åŠçãèªååããããã®äŸ¿å©ãªæ©èœã§ãããããã以äžã®çç±ãããã䜿ãããšãåé¡ãšãªãããšããããŸãã
ã»ãã¥ãªãã£ãªã¹ã¯
ãã¯ã³ã³ãã¥ãŒã¿ãŠã€ã«ã¹ããã«ãŠã§ã¢ã®äŸµå ¥çµè·¯ãšãªãããšããããŸããç¹ã«ãMicrosoft Officeææžã«åã蟌ãŸãããã¯ãæªæã®ããã³ãŒããå®è¡ããããšããããŸãããããã¯ããŠãŒã¶ãŒã®å人æ å ±ãéèŠããŒã¿ãçãããã«äœ¿ãããããšããããããã»ãã¥ãªãã£ãªã¹ã¯ãé«ãŸããŸãã
äºææ§ã®åé¡
ãã¯ãç°ãªãããŒãžã§ã³ã®ãœãããŠã§ã¢ãç°ãªããªãã¬ãŒã·ã§ã³ã·ã¹ãã éã§äºææ§ããªããªãããšããããŸããããã«ãããäºææ§ã®åé¡ãçºçããææžãããŒã¿ãæ£åžžã«éããªãããŸãã¯äºæããªãæåã瀺ãããšããããŸãã
ç¶æ管çã®å°é£ã
ãã¯ãããã°ã©ã ã®ã³ãŒããè€éã«ãªããã¡ã§ãç¶æ管çãå°é£ã«ãªãããšããããŸãããŸããç¶æ管çã®å°é£ãã¯ããã°ã®çºçãããã°ã©ã ã®äžå®å®æ§ãåŒãèµ·ãããªã¹ã¯ãé«ããŸãã
ãã¯ãã§ä¿åããã«ã¯ã©ãããã°ããã§ããïŒ
ãã§ä¿åããæ¹æ³ã¯ãåºæ¬çã«ä»¥äžã®æé ã«ãªããŸãã
ãã®èšé²
ãŸããExcelã§ããèšé²ããå¿ èŠããããŸãããã®æé ã¯ä»¥äžã®éãã§ãã
- ã衚瀺ãã¿ããéããããããã¿ã³ãã¯ãªãã¯ããŠããã®èšé²ããéžæããŸãã
- ãã«ååãä»ããã·ã§ãŒãã«ããããŒãèšå®ããŸãããŸããããä¿åããå ŽæãéžæããŸãã
- ãOKããã¯ãªãã¯ããŠãã®èšé²ãéå§ããŸãã
- ä¿åãããæäœãè¡ããŸããããã«ã¯ãããŒã¿ã®å ¥åãåŒã®èšç®ããã©ãŒãããã®èšå®ãªã©ãå«ãŸããŸãã
- æäœãçµãã£ãããå床ããããã¿ã³ãã¯ãªãã¯ããããã®èšé²ãåæ¢ããéžæããŸãã
ãã®å®è¡
èšé²ããããå®è¡ããã«ã¯ã以äžã®æé ã«åŸããŸãã
- ã衚瀺ãã¿ããéããããããã¯ãªãã¯ããŸãã
- èšé²ãããã®ååãéžæãããå®è¡ããã¯ãªãã¯ããŸãã
- ããå®è¡ãããèšé²ããæäœãèªåçã«è¡ãããŸãã
ããä¿åãã
ããä¿åããã«ã¯ãã¯ãŒã¯ããã¯å šäœããæå¹ããã¯ãšããŠä¿åããå¿ èŠããããŸãã
- ããã¡ã€ã«ãã¿ããéãããä¿åããã¯ãªãã¯ããŸãã
- ããã¡ã€ã«ã®çš®é¡ãããExcelãæå¹ã¯ãŒã¯ãã㯠(.xlsm)ãã«å€æŽããŸãã
- ãã¡ã€ã«åãå ¥åãããä¿åããã¯ãªãã¯ããŸãã
ããã§ãããå«ãã¯ãŒã¯ããã¯ãä¿åãããŸãã次åãã®ã¯ãŒã¯ããã¯ãéããšããããå®è¡ããããšãã§ããŸãã
Wordã®VBAã§ã§ããããšã¯ïŒ
Wordã®VBAïŒVisual Basic for ApplicationsïŒã§ã¯ãWordææžã®äœæãç·šéãèªååãªã©ã®ããŸããŸãªã¿ã¹ã¯ãå¹ççã«è¡ãããšãã§ããŸããVBAã䜿ã£ãŠç¹°ãè¿ãã®äœæ¥ãèªååããããã«ã¹ã¿ã æ©èœãè¿œå ãããããããšãå¯èœã§ãã
ææžã®èªåå
Wordã®VBAã䜿ã£ãŠãææžã®äœæãç·šéãèªååããããšãã§ããŸããããšãã°ã以äžã®ãããªã¿ã¹ã¯ãèªååã§ããŸãã
- ææžã®äœæ: VBAã䜿ã£ãŠæ°ããææžãäœæãããã³ãã¬ãŒãã«åºã¥ããŠå 容ãèªåçã«å ¥åã§ããŸãã
- ããŒã¿ã®æ¿å ¥: å€éšããŒã¿æºïŒäŸãã°ãExcelãããŒã¿ããŒã¹ïŒããããŒã¿ãååŸããææžã«æ¿å ¥ã§ããŸãã
- ææžã®ãã©ãŒããã: ææžã®ãã©ã³ãã段èœãã¹ã¿ã€ã«ãªã©ãèªåçã«é©çšãŸãã¯å€æŽã§ããŸãã
ã«ã¹ã¿ã æ©èœã®è¿œå
VBAã䜿ã£ãŠãWordã«ã«ã¹ã¿ã æ©èœãè¿œå ããããšãã§ããŸããããã«ãããç¹å®ã®èŠä»¶ãã¯ãŒã¯ãããŒã«åãããæ©èœãå®è£ ã§ããŸãã
- ãŠãŒã¶ãŒãã©ãŒã ã®äœæ: VBAã䜿ã£ãŠã«ã¹ã¿ã ãã€ã¢ãã°ããã¯ã¹ããŠãŒã¶ãŒãã©ãŒã ãäœæãããŠãŒã¶ãŒã«å ¥åãæ±ããããšãã§ããŸãã
- ãã®èšé²ãšå®è¡: ç¹°ãè¿ãã®ã¿ã¹ã¯ãããšããŠèšé²ããå¿ èŠã«å¿ããŠå®è¡ã§ããŸããããã«ãããäœæ¥ã®å¹çåãå¯èœã«ãªããŸãã
- ãªãã³ã®ã«ã¹ã¿ãã€ãº: VBAã䜿ã£ãŠWordã®ãªãã³ãã«ã¹ã¿ãã€ãºããã«ã¹ã¿ã ãã¿ã³ãã¡ãã¥ãŒãè¿œå ã§ããŸãã
ããŒã¿ã®æäœãšè§£æ
Wordã®VBAã䜿ã£ãŠãææžå ã®ããŒã¿ãæäœããã解æãããããããšãã§ããŸãã
- ããŒã¿ã®æœåº: ææžããç¹å®ã®ããŒã¿ãæœåºããåæãã¬ããŒãçæã«äœ¿çšã§ããŸãã
- ããŒã¿ã®å€æ: ææžå ã®ããŒã¿ãå¥ã®åœ¢åŒã«å€æããä»ã®ã¢ããªã±ãŒã·ã§ã³ã§äœ¿çšã§ããããã«ããŸãã
- ããŒã¿ã®æ€èšŒ: ææžå ã®ããŒã¿ãç¹å®ã®åºæºãæºãããŠãããã©ãããæ€èšŒãããšã©ãŒãæ€åºã§ããŸãã
ãããã質å
Q1: VBAã䜿çšããŠWordãã¡ã€ã«ãä¿åããæ¹æ³ãæããŠãã ããã
A1: VBAã䜿çšããŠWordãã¡ã€ã«ãä¿åããã«ã¯ãActiveDocument.SaveAs2ã¡ãœããã䜿çšããŸãããã®ã¡ãœããã䜿çšãããšããã¡ã€ã«åãä¿åå ã®ãã¹ãæå®ããŠWordãã¡ã€ã«ãä¿åããããšãã§ããŸããäŸãã°ã次ã®ãããªã³ãŒãã䜿çšããŸãã vb Sub SaveWordFile() Dim filePath As String filePath = C:Documentsexample.docx ActiveDocument.SaveAs2 fileName:=filePath End Sub ãã®ã³ãŒãã¯ãexample.docxãšããååã®Wordãã¡ã€ã«ãC:Documentsãã©ã«ããŒã«ä¿åããŸãã
Q2: æ¢åã®Wordãã¡ã€ã«ãäžæžãä¿åããæ¹æ³ã¯?
A2: æ¢åã®Wordãã¡ã€ã«ãäžæžãä¿åããã«ã¯ãActiveDocument.Saveã¡ãœããã䜿çšããŸãããã®ã¡ãœããã䜿çšãããšãçŸåšéããŠããWordãã¡ã€ã«ãäžæžãä¿åã§ããŸããäŸãã°ã次ã®ãããªã³ãŒãã䜿çšããŸãã vb Sub OverwriteWordFile() ActiveDocument.Save End Sub ãã®ã³ãŒãã¯ãçŸåšéããŠããWordãã¡ã€ã«ãäžæžãä¿åããŸãã
Q3: Wordãã¡ã€ã«ãç¹å®ã®åœ¢åŒã§ä¿åããæ¹æ³ã¯?
A3: Wordãã¡ã€ã«ãç¹å®ã®åœ¢åŒã§ä¿åããã«ã¯ãActiveDocument.SaveAs2ã¡ãœããã®FileFormatåŒæ°ã䜿çšããŸãããã®åŒæ°ã䜿çšãããšããã¡ã€ã«åœ¢åŒãæå®ããŠä¿åããããšãã§ããŸããäŸãã°ã次ã®ãããªã³ãŒãã䜿çšããŠWordãã¡ã€ã«ãPDF圢åŒã§ä¿åããŸãã vb Sub SaveAsPDF() Dim filePath As String filePath = C:Documentsexample.pdf ActiveDocument.SaveAs2 fileName:=filePath, FileFormat:=wdFormatPDF End Sub ãã®ã³ãŒãã¯ãexample.pdfãšããååã®PDFãã¡ã€ã«ãC:Documentsãã©ã«ããŒã«ä¿åããŸãã
Q4: ä¿åå ã®ãã©ã«ããŒãååšããªãå Žåã¯ã©ããããããã§ãã?
A4: ä¿åå ã®ãã©ã«ããŒãååšããªãå Žåã¯ãMkDirã¹ããŒãã¡ã³ãã䜿çšããŠãã©ã«ããŒãäœæããããã«ActiveDocument.SaveAs2ã¡ãœããã䜿çšããŠWordãã¡ã€ã«ãä¿åããŸããäŸãã°ã次ã®ãããªã³ãŒãã䜿çšããŸãã vb Sub SaveToNewFolder() Dim folderPath As String Dim filePath As String folderPath = C:DocumentsNewFolder filePath = folderPath & example.docx If Dir(folderPath, vbDirectory) = Then MkDir folderPath End If ActiveDocument.SaveAs2 fileName:=filePath End Sub ãã®ã³ãŒãã¯ãC:DocumentsNewFolderãã©ã«ããŒãååšããªãå Žåã«ãã©ã«ããŒãäœæããexample.docxãšããååã®Wordãã¡ã€ã«ããã®äžã«ä¿åããŸãã
ðŸ VBA 㧠Word ãã¡ã€ã«ãä¿åããæ¹æ³ããã¯ã掻çšã ã«é¡äŒŒããä»ã®èšäºãç¥ãããå Žåã¯ãWord ãã¡ã€ã«å€æã»é£æº ã«ããŽãªã«ã¢ã¯ã»ã¹ããŠãã ããã
ã³ã¡ã³ããæ®ã
é¢é£èšäº