ð VBAã§Wordãã¡ã€ã«ãéãæ¹æ³ïŒãã¯ãã§äœæ¥ãå¹çå

VBAïŒVisual Basic for ApplicationsïŒã䜿çšããŠWordãã¡ã€ã«ãéãæ¹æ³ã解説ããŸãããã掻çšããããšã§ãç¹°ãè¿ãã®äœæ¥ãèªååããå¹ççãªããžãã¹ã¯ãŒã¯ã«åœ¹ç«ãŠãããšãã§ããŸããæ¬èšäºã§ã¯ã Word VBAã®åºæ¬æäœãããWordãã¡ã€ã«ãéãããã®å ·äœçãªæé ãé ãè¿œã£ãŠèª¬æããŸãããã®èšé²æ¹æ³ãå®è¡æ¹æ³ããšã©ãŒãžã®å¯ŸåŠæ³ãªã©ã玹ä»ããŸããVBAãåããŠå©çšããæ¹ããå€§å¹ ãªäœæ¥å¹çåãæåŸ ã§ããå 容ã§ãã®ã§ããã²ãåç §ãã ããã
- ð VBAã§Wordãã¡ã€ã«ãéãæ¹æ³ïŒãã§äœæ¥ãå¹çå
- Wordã®ãã¯ããéãã«ã¯ïŒ
- Wordã®VBAã§ã§ããããšã¯ïŒ
- Wordã®ãã¯ããæå¹ã«ãªããªãã®ã¯ãªãã§ããïŒ
- Excelã®ãã¡ã€ã«ãWordã§éãã«ã¯ïŒ
- ãããã質å
- Q1: VBAã䜿çšããŠWordãã¡ã€ã«ãéãæ¹æ³ã¯äœã§ããïŒ
- Q2: VBAã§Wordãã¡ã€ã«ãéãéã«ãã¹ã¯ãŒãä¿è·ããããã¡ã€ã«ãæ±ãæ¹æ³ã¯ïŒ
- Q3: VBAã䜿ã£ãŠè€æ°ã®Wordãã¡ã€ã«ãäžåºŠã«éãæ¹æ³ã¯ãããŸãã?
- Q4: VBAã§Wordãã¡ã€ã«ãéããåŸãç¹å®ã®æååãæ€çŽ¢ããæ¹æ³ã¯ãããŸããïŒ
ð VBAã§Wordãã¡ã€ã«ãéãæ¹æ³ïŒãã§äœæ¥ãå¹çå
VBAïŒVisual Basic for ApplicationsïŒã䜿çšãããšãWordãã¡ã€ã«ãèªåçã«éãããšãã§ããŸããããã«ãããç¹°ãè¿ãã®äœæ¥ãå¹çåããæéãå€§å¹ ã«ç¯çŽããããšãå¯èœã§ãã以äžã«ãVBAã§Wordãã¡ã€ã«ãéãæ¹æ³ãšããã®å©ç¹ã«ã€ããŠè©³ãã説æããŸãã
Wordãã¡ã€ã«ãéãVBAã³ãŒãã®åºæ¬
VBAã§Wordãã¡ã€ã«ãéãã«ã¯ãDocuments.Openã¡ãœããã䜿çšããŸãã以äžã¯ãVBAã³ãŒãã®åºæ¬çãªæ§é ã§ãã
ã³ãŒã | 説æ |
Dim wdApp As Word.Application | Wordã¢ããªã±ãŒã·ã§ã³ãªããžã§ã¯ããå®£èš |
Set wdApp = New Word.Application | Wordã¢ããªã±ãŒã·ã§ã³ãªããžã§ã¯ããäœæ |
wdApp.Documents.Open ãã¡ã€ã«ãã¹ | æå®ããããã¡ã€ã«ãã¹ã®Wordãã¡ã€ã«ãéã |
wdApp.Visible = True | Wordã¢ããªã±ãŒã·ã§ã³ã衚瀺ãã |
ãã䜿çšããäœæ¥ã®å¹çå
VBAã§Wordãã¡ã€ã«ãéããã䜿çšããããšã§ã以äžã®ãããªäœæ¥ãå¹çåã§ããŸãã
- æ¯æ¥ã®å ±åæžäœæ
- å®æçãªè³ææŽæ°
- è€æ°ã®Wordãã¡ã€ã«ãäžæ¬ã§éã
ãã¡ã€ã«ãã¹ã®æå®æ¹æ³
VBAã§Wordãã¡ã€ã«ãéãéããã¡ã€ã«ãã¹ãæ£ç¢ºã«æå®ããããšãéèŠã§ãããã¡ã€ã«ãã¹ã¯ã次ã®ããã«æå®ããŸãã
C:UsersãŠãŒã¶ãŒåDocumentssample.docx
ãã¡ã€ã«ãã¹ã¯ãããã¥ã¡ã³ãã®å Žæã«å¿ããŠå€æŽããŠãã ããã
ãšã©ãŒåŠç
VBAã§Wordãã¡ã€ã«ãéãéã«ã¯ããšã©ãŒåŠçãå®è£ ããŠããããšãæãŸããã§ãã以äžã¯ããšã©ãŒåŠçãå«ããVBAã³ãŒãã®äŸã§ãã
ã³ãŒã | 説æ |
On Error Resume Next | ãšã©ãŒåŠçãå®è¡ããããã«æå® |
Set wdApp = New Word.Application | Wordã¢ããªã±ãŒã·ã§ã³ãªããžã§ã¯ããäœæ |
If Err.Number 0 Then | ãšã©ãŒãçºçãããã©ãããç¢ºèª |
MsgBox Wordãã¡ã€ã«ãéããŸããã§ããã, vbExclamation | ãšã©ãŒãçºçããå Žåãã¡ãã»ãŒãžã衚瀺 |
End If | ãšã©ãŒåŠçãçµäº |
è€æ°ã®Wordãã¡ã€ã«ãéãæ¹æ³
VBAã䜿çšãããšãè€æ°ã®Wordãã¡ã€ã«ãäžåºŠã«éãããšãã§ããŸãã以äžã¯ããã®æ¹æ³ã®äžäŸã§ãã
ã³ãŒã | 説æ |
Dim fileNames As Variant | ãã¡ã€ã«åãæ ŒçŽããé åãå®£èš |
fileNames = Array(ãã¡ã€ã«ãã¹1, ãã¡ã€ã«ãã¹2, ãã¡ã€ã«ãã¹3) | éããããã¡ã€ã«ã®ãã¹ãé åã«æ ŒçŽ |
For Each fileName In fileNames | é åå ã®åãã¡ã€ã«ãã¹ãã«ãŒãåŠç |
wdApp.Documents.Open fileName | ãã¡ã€ã«ãéã |
Next fileName | 次ã®ãã¡ã€ã«ãã¹ã«é²ã |
ããã«ãããè€æ°ã®Wordãã¡ã€ã«ãå¹ççã«éãããšãã§ããŸãã
Wordã®ãã¯ããéãã«ã¯ïŒ
Wordã®ããéãæ¹æ³ã¯ä»¥äžã®éãã§ãã
ãã衚瀺ãã
Wordã§ãã衚瀺ããã«ã¯ã以äžã®æé ã«åŸã£ãŠãã ããã
- Wordãéããã衚瀺ãã¿ããã¯ãªãã¯ããŸãã
- ããããã¿ã³ãã¯ãªãã¯ããŸãã
- ããã®è¡šç€ºããéžæããŸãã
ããã§ããã衚瀺ãããŸãã
ããå®è¡ãã
äœæããããå®è¡ããã«ã¯ã以äžã®æé ã«åŸã£ãŠãã ããã
- ã衚瀺ãã¿ãã®ããããã¿ã³ãã¯ãªãã¯ããŸãã
- å®è¡ãããããéžæããŸãã
- ãå®è¡ããã¿ã³ãã¯ãªãã¯ããŸãã
ããã§ãããå®è¡ãããŸãã
ããç·šéãã
ããç·šéããã«ã¯ã以äžã®æé ã«åŸã£ãŠãã ããã
- ã衚瀺ãã¿ãã®ããããã¿ã³ãã¯ãªãã¯ããŸãã
- ç·šéãããããéžæããŸãã
- ãç·šéããã¿ã³ãã¯ãªãã¯ããŸãã
ããã§ããã®ç·šéç»é¢ã衚瀺ãããå€æŽãè¡ãããšãã§ããŸããå€æŽãå®äºãããããä¿åããã¿ã³ãã¯ãªãã¯ããŠå€æŽãä¿åããŠãã ããã
Wordã®VBAã§ã§ããããšã¯ïŒ
Wordã®VBAïŒVisual Basic for ApplicationsïŒã䜿ãã°ãWordææžã®äœæãç·šéã®èªååãå¹çåãå¯èœã«ãªããŸããå ·äœçã«ã¯ã以äžã®ãããªããšãã§ããŸãã
ææžã®èªåçæ
Wordã®VBAã䜿ã£ãŠãå®åçãªææžãèªåçæããããšãã§ããŸããäŸãã°ãã¡ãŒã«ããŒãžæ©èœãšçµã¿åãããŠãè€æ°ã®å®å ãžã®ææžã®äœæãèªååããããšãã§ããŸãã
- ãã³ãã¬ãŒãã®äœæïŒææžã®ãã³ãã¬ãŒããäœæããå€æ°éšåã眮ãæãå¯èœãªç¶æ ã«ããŠããã
- ããŒã¿ãœãŒã¹ã®æå®ïŒå®å ã®æ å ±ãå«ãããŒã¿ãœãŒã¹ïŒExcelãã¡ã€ã«çïŒãæå®ããã
- ã¡ãŒã«ããŒãžã®å®è¡ïŒVBAã䜿ã£ãŠãããŒã¿ãœãŒã¹ã®æ å ±ããã³ãã¬ãŒãã«åæ ããäžæ¬ã§ææžãçæããã
ææžã®èªåç·šé
Wordã®VBAã䜿ã£ãŠãææžå ã®ç¹å®ã®æååãæ€çŽ¢ã»çœ®æããããæžåŒãèªåçã«å€æŽãããããããšãã§ããŸããããã«ãããç·šéäœæ¥ã®å¹çåãæåŸ ã§ããŸãã
- æååã®æ€çŽ¢ã»çœ®æïŒVBAã䜿ã£ãŠãææžå ã®ç¹å®ã®æååãæ€çŽ¢ããæå®ããæååã«çœ®æããããšãã§ããŸãã
- æžåŒã®å€æŽïŒVBAã䜿ã£ãŠãææžå ã®ç¹å®ã®æååã段èœã®æžåŒïŒãã©ã³ãããµã€ãºãè²ãªã©ïŒãå€æŽããããšãã§ããŸãã
- ãã®äœæïŒé »ç¹ã«è¡ãç·šéäœæ¥ãVBAã®ããšããŠèšé²ããç°¡åã«å®è¡ã§ããããã«ããããšãã§ããŸãã
ããŒã¿ã®ååŸã»å å·¥
Wordã®VBAã䜿ã£ãŠãä»ã®ã¢ããªã±ãŒã·ã§ã³ïŒExcelã AccessãOutlookãªã©ïŒãšé£æºããããŒã¿ã®ååŸãå å·¥ãè¡ãããšãã§ããŸããããã«ãããWordææžå ã«å€éšããŒã¿ãåæ ããããšã容æã«ãªããŸãã
- ExcelããŒã¿ã®ååŸïŒVBAã䜿ã£ãŠãExcelãã¡ã€ã«ããããŒã¿ãååŸããWordææžå ã«åæ ããããšãã§ããŸãã
- Outlookããã®ããŒã¿ååŸïŒVBAã䜿ã£ãŠãOutlookã®ã¡ãŒã«ãäºå®è¡šããããŒã¿ãååŸããWordææžå ã«åæ ããããšãã§ããŸãã
- ããŒã¿ã®å å·¥ã»åæïŒååŸããããŒã¿ãVBAã䜿ã£ãŠå å·¥ã»åæããWordææžå ã«è¡šç€ºããããšãã§ããŸãã
Wordã®ãã¯ããæå¹ã«ãªããªãã®ã¯ãªãã§ããïŒ
Wordã®ããæå¹ã«ãªããªãçç±ã«ã¯ä»¥äžã®ãã®ããããŸãã
ã»ãã¥ãªãã£èšå®ãåå
ãã¯ã³ã³ãã¥ãŒã¿ã«æ害ãäžããå¯èœæ§ããããããWordã§ã¯ããã©ã«ãã§ããç¡å¹ã«ãªã£ãŠããŸããããæå¹ã«ããã«ã¯ã以äžã®æé ã§ã»ãã¥ãªãã£èšå®ãå€æŽããå¿ èŠããããŸãã
- Wordãéãããã¡ã€ã«ã¿ããã¯ãªãã¯ããŸãã
- ãªãã·ã§ã³ãã¯ãªãã¯ããã»ãã¥ãªãã£ã»ã³ã¿ãŒãéžæããŸãã
- ã»ãã¥ãªãã£ã»ã³ã¿ãŒã®èšå®ãã¿ã³ãã¯ãªãã¯ãããã®èšå®ãéžæããŸãã
- ãã¹ãŠã®ããç¡å¹ã«ããã®ä»£ããã«ã眲åä»ãããæå¹ã«ãããŸãã¯ãã¹ãŠã®ããæå¹ã«ãããéžæããŸãã
ããä¿¡é Œãããå Žæã«ä¿åãããŠããªã
Wordã§ã¯ãä¿¡é ŒãããŠããªãå Žæã«ä¿åãããŠãããã¯å®è¡ãããŸãããããæå¹ã«ããã«ã¯ãããå«ãããã¥ã¡ã³ããä¿¡é Œãããå Žæã«ç§»åããå¿ èŠããããŸãã
- Wordãéãããã¡ã€ã«ã¿ããã¯ãªãã¯ããŸãã
- ãªãã·ã§ã³ãã¯ãªãã¯ããã»ãã¥ãªãã£ã»ã³ã¿ãŒãéžæããŸãã
- ã»ãã¥ãªãã£ã»ã³ã¿ãŒã®èšå®ãã¿ã³ãã¯ãªãã¯ããä¿¡é Œã§ããå ŽæãéžæããŸãã
- æ°ããå Žæãè¿œå ãã¿ã³ãã¯ãªãã¯ããããå«ãããã¥ã¡ã³ããä¿åãããŠãããã©ã«ããéžæããŸãã
ãã«åé¡ããã
ãèªäœã«åé¡ãããå ŽåãWordã§ããæå¹ã«ãªããªãããšããããŸãããã®ã³ãŒãã確èªãããšã©ãŒãå«ãŸããŠããªãããšã確èªããŠãã ããããŸããVBAãšãã£ã¿ã§ãããããã°ããŠãåé¡ã®åå ãçªãæ¢ããããšãã§ããŸãã
- Wordã§ããå«ãããã¥ã¡ã³ããéããŸãã
- Alt + F11ãæŒããŠVBAãšãã£ã¿ãéããŸãã
- åé¡ã®ããããèŠã€ããŠãã³ãŒãã確èªããŸãããšã©ãŒãå«ãŸããŠããªãã確èªããŠãã ããã
Excelã®ãã¡ã€ã«ãWordã§éãã«ã¯ïŒ
Excelã®ãã¡ã€ã«ãWordã§éãã«ã¯ã以äžã®æé ã«åŸã£ãŠãã ããã
æé 1: Excelãã¡ã€ã«ãWordã«åã蟌ã
Wordã§Excelãã¡ã€ã«ãéãã«ã¯ããŸãExcelãã¡ã€ã«ãWordããã¥ã¡ã³ãã«åã蟌ãå¿ èŠããããŸãã以äžã®æé ã§å®è¡ã§ããŸãã
- Wordãéããæ¿å ¥ã¿ããéžæããŸãã
- ããã¹ãã°ã«ãŒãã§ããªããžã§ã¯ããã¯ãªãã¯ããŸãã
- ãã¡ã€ã«ããäœæãéžæããåç §ãã¿ã³ãã¯ãªãã¯ããŸãã
- éãããExcelãã¡ã€ã«ãéžæããŠãæ¿å ¥ãã¿ã³ãã¯ãªãã¯ããŸãã
æé 2: ExcelããŒã¿ã®ãªã³ã¯ãäœæãã
ExcelããŒã¿ãWordã«åã蟌ãã åŸãããŒã¿ã®å€æŽãåæ ããããã«ãªã³ã¯ãäœæã§ããŸãã
- åã蟌ãã ExcelããŒã¿ãå³ã¯ãªãã¯ãããªããžã§ã¯ãã®æžåŒèšå®ãéžæããŸãã
- ãªã³ã¯ã¿ããã¯ãªãã¯ããŸãã
- ãªã³ã¯å ã®ããã¥ã¡ã³ãã«Excelãã¡ã€ã«ã®ãã¹ãæå®ããOKãã¿ã³ãã¯ãªãã¯ããŸãã
æé 3: ExcelããŒã¿ãæŽæ°ãã
ExcelããŒã¿ã«å€æŽããã£ãå ŽåãWordããã¥ã¡ã³ãå ã®ããŒã¿ãæŽæ°ããããšãã§ããŸãã
- Wordããã¥ã¡ã³ãå ã®ExcelããŒã¿ãå³ã¯ãªãã¯ãããªã³ã¯ãããã¯ãŒã¯ã·ãŒããªããžã§ã¯ããéžæããŸãã
- ãªã³ã¯ã®æŽæ°ãã¯ãªãã¯ãããšãExcelããŒã¿ãææ°ã®ç¶æ ã«æŽæ°ãããŸãã
ãããã質å
Q1: VBAã䜿çšããŠWordãã¡ã€ã«ãéãæ¹æ³ã¯äœã§ããïŒ
A1: VBAã§Wordãã¡ã€ã«ãéãã«ã¯ãDocuments.Openã¡ãœããã䜿çšããŸãããã®ã¡ãœããã䜿ãããšã§ãæå®ãããã¹ã®Wordãã¡ã€ã«ãéãããšãã§ããŸããäŸãã°ã次ã®ãããªã³ãŒãã䜿çšããŸãã vb Dim wdApp As Word.Application Set wdApp = New Word.Application wdApp.Visible = True wdApp.Documents.Open C:example.docx ãã®ã³ãŒãã¯ãWordã¢ããªã±ãŒã·ã§ã³ãèµ·åããæå®ãããã¹ã«ããWordãã¡ã€ã«ãéããŸãã
Q2: VBAã§Wordãã¡ã€ã«ãéãéã«ãã¹ã¯ãŒãä¿è·ããããã¡ã€ã«ãæ±ãæ¹æ³ã¯ïŒ
A2: ãã¹ã¯ãŒãä¿è·ãããWordãã¡ã€ã«ãéãã«ã¯ãDocuments.Openã¡ãœããã®åŒæ°ã«ãã¹ã¯ãŒããæå®ããŸãã次ã®ã³ãŒãã¯ããã®æ¹æ³ã瀺ããŠããŸãã vb Dim wdApp As Word.Application Set wdApp = New Word.Application wdApp.Visible = True wdApp.Documents.Open Filename:=C:example.docx, PasswordDocument:=yourPassword ãã®ã³ãŒãã¯ããã¹ã¯ãŒãã§ä¿è·ãããWordãã¡ã€ã«ãéãããšãã§ããŸããPasswordDocumentåŒæ°ã«æ£ãããã¹ã¯ãŒããæå®ããå¿ èŠããããŸãã
Q3: VBAã䜿ã£ãŠè€æ°ã®Wordãã¡ã€ã«ãäžåºŠã«éãæ¹æ³ã¯ãããŸãã?
A3:ã¯ããVBAã䜿ã£ãŠè€æ°ã®Wordãã¡ã€ã«ãäžåºŠã«éãããšãã§ããŸããè€æ°ã®ãã¡ã€ã«ãã¹ãé åã«æ ŒçŽããã«ãŒãã§åãã¡ã€ã«ãéãããšãã§ããŸãã次ã®ã³ãŒãã¯ããã®æ¹æ³ã瀺ããŠããŸãã vb Dim wdApp As Word.Application Set wdApp = New Word.Application wdApp.Visible = True Dim filePaths(1 To 3) As String filePaths(1) = C:example1.docx filePaths(2) = C:example2.docx filePaths(3) = C:example3.docx Dim i As Integer For i = 1 To 3 wdApp.Documents.Open filePaths(i) Next i ãã®ã³ãŒãã¯ãfilePathsé åã«æ ŒçŽãããŠããè€æ°ã®Wordãã¡ã€ã«ãéããŸãã
Q4: VBAã§Wordãã¡ã€ã«ãéããåŸãç¹å®ã®æååãæ€çŽ¢ããæ¹æ³ã¯ãããŸããïŒ
A4: VBAã§Wordãã¡ã€ã«ãéããåŸãç¹å®ã®æååãæ€çŽ¢ããããšãã§ããŸããFindãªããžã§ã¯ãã䜿çšããŠæ€çŽ¢ãè¡ããŸãã次ã®ã³ãŒãã¯ããã®æ¹æ³ã瀺ããŠããŸãã vb Dim wdApp As Word.Application Set wdApp = New Word.Application wdApp.Visible = True Dim doc As Word.Document Set doc = wdApp.Documents.Open(C:example.docx) With doc.Content.Find .Text = æ€çŽ¢ããæåå .MatchCase = False .MatchWholeWord = False .MatchWildcards = False .Execute End With ãã®ã³ãŒãã¯ãéããWordããã¥ã¡ã³ãå ã§æå®ããæååãæ€çŽ¢ããŸããæ€çŽ¢ã®ãªãã·ã§ã³ïŒå€§æåå°æåã®åºå¥ãå šåèªäžèŽãã¯ã€ã«ãã«ãŒã䜿çšïŒã¯ãå¿ èŠã«å¿ããŠå€æŽã§ããŸãã
ð VBAã§Wordãã¡ã€ã«ãéãæ¹æ³ïŒãã¯ãã§äœæ¥ãå¹çå ã«é¡äŒŒããä»ã®èšäºãç¥ãããå Žåã¯ãWord åºæ¬æäœ ã«ããŽãªã«ã¢ã¯ã»ã¹ããŠãã ããã
ã³ã¡ã³ããæ®ã
é¢é£èšäº