ð Word VBA ãã¡ã€ã« å ååŸïŒWord VBAã§ãã¡ã€ã«åãååŸããæ¹æ³

Word VBAã§ãã¡ã€ã«åãååŸããæ¹æ³ã«ã€ããŠè§£èª¬ããŸããWord VBAã¯ãMicrosoft Wordã§ãã䜿çšããŠäœæ¥ãèªååããããã®ããã°ã©ãã³ã°èšèªã§ãããã¡ã€ã«åã®ååŸã¯ãããã¥ã¡ã³ãã®ç®¡çãããŒã¿ã®å å·¥ãªã©ãããŸããŸãªã·ãŒã³ã§åœ¹ç«ã¡ãŸãããã®èšäºã§ã¯ãWord VBAã䜿çšããŠçŸåšéããŠããããã¥ã¡ã³ãã®ãã¡ã€ã«åãååŸããæ¹æ³ã詳现ã«èª¬æããŸãããŸãããã¡ã€ã«åããæ¡åŒµåãé€å€ããæ¹æ³ãããã«ãã¹ãå«ãããã¡ã€ã«åãååŸããæ¹æ³ã玹ä»ããŸãããã²ãWordã®äœæ¥å¹çåã«ã圹ç«ãŠãã ããã
- VBAã§ã¢ã¯ãã£ãã·ãŒãã®ãã¡ã€ã«åãååŸããã«ã¯ã©ããããããã§ããïŒ
- VBAã§ãã¡ã€ã«åã«å¶éã¯ãããŸããïŒ
- Word VBAã§ãã¡ã€ã«åãååŸããæ¹æ³
- VBAã§ãã¡ã€ã«ã®çš®é¡ãååŸããã«ã¯ã©ãããã°ããã§ããïŒ
- Wordã®VBAã§äœãã§ããŸããïŒ
- ãããã質å
- Word VBAã§ãã¡ã€ã«åãååŸããæ¹æ³ã¯ãããŸããïŒ
- ãã«ãã¹ãå«ããã¡ã€ã«åãååŸããã«ã¯ã©ãããã°ããã§ããïŒ
- ãã¡ã€ã«åã ããååŸããæ¡åŒµåãé€ãæ¹æ³ã¯ãããŸããïŒ
- Word VBAã§è€æ°ã®ããã¥ã¡ã³ããéããŠããå Žåãç¹å®ã®ããã¥ã¡ã³ãã®ãã¡ã€ã«åãååŸããæ¹æ³ã¯ãããŸããïŒ
VBAã§ã¢ã¯ãã£ãã·ãŒãã®ãã¡ã€ã«åãååŸããã«ã¯ã©ããããããã§ããïŒ
VBAã§ã¢ã¯ãã£ãã·ãŒãã®ãã¡ã€ã«åãååŸããã«ã¯ã以äžã®æ¹æ³ããããŸãã ã¢ã¯ãã£ãã·ãŒãã®ãã¡ã€ã«åãååŸããã«ã¯ã`ActiveWorkbook.Name`ããããã£ã䜿çšããŸãããã ãããã®ããããã£ã¯ãã¢ã¯ãã£ããªã¯ãŒã¯ããã¯ã®ãã¡ã€ã«åãè¿ããŸããã¢ã¯ãã£ãã·ãŒãã®ãã¡ã€ã«åãååŸããã«ã¯ã`ActiveSheet.Parent.Name`ããããã£ã䜿çšããŸãã
VBAã§ã¢ã¯ãã£ãã·ãŒãã®ãã¡ã€ã«åãååŸããæ¹æ³
VBAã§ã¢ã¯ãã£ãã·ãŒãã®ãã¡ã€ã«åãååŸããã«ã¯ã以äžã®æ¹æ³ããããŸãã
- ActiveWorkbook.Nameããããã£ã䜿çšããŸãããã ãããã®ããããã£ã¯ãã¢ã¯ãã£ããªã¯ãŒã¯ããã¯ã®ãã¡ã€ã«åãè¿ããŸãã
- ActiveSheet.Parent.Nameããããã£ã䜿çšããŸãããã®ããããã£ã¯ãã¢ã¯ãã£ãã·ãŒãã®èŠªã¯ãŒã¯ããã¯ã®ãã¡ã€ã«åãè¿ããŸãã
- ThisWorkbook.Nameããããã£ã䜿çšããŸãããã®ããããã£ã¯ãçŸåšã®ã¯ãŒã¯ããã¯ã®ãã¡ã€ã«åãè¿ããŸãã
VBAã§ã¢ã¯ãã£ãã·ãŒãã®ãã¡ã€ã«åãååŸããã³ãŒãäŸ
以äžã¯ãVBAã§ã¢ã¯ãã£ãã·ãŒãã®ãã¡ã€ã«åãååŸããã³ãŒãäŸã§ãã
- ActiveWorkbook.Nameããããã£ã䜿çšããã³ãŒãäŸ
vb
Sub GetActiveWorkbookName() MsgBox ActiveWorkbook.Name
End Sub - ActiveSheet.Parent.Nameããããã£ã䜿çšããã³ãŒãäŸ
vb
Sub GetActiveSheetFileName() MsgBox ActiveSheet.Parent.Name
End Sub - ThisWorkbook.Nameããããã£ã䜿çšããã³ãŒãäŸ
vb
Sub GetThisWorkbookName() MsgBox ThisWorkbook.Name
End Sub
VBAã§ã¢ã¯ãã£ãã·ãŒãã®ãã¡ã€ã«åãååŸããéã®æ³šæç¹
VBAã§ã¢ã¯ãã£ãã·ãŒãã®ãã¡ã€ã«åãååŸããéã«ã¯ã以äžã®æ³šæç¹ããããŸãã
- ã¢ã¯ãã£ãã·ãŒããååšããªãå Žåã`ActiveSheet.Parent.Name`ããããã£ã¯ãšã©ãŒãè¿ããŸãã
- ã¯ãŒã¯ããã¯ãä¿åãããŠããªãå Žåã`ActiveWorkbook.Name`ããããã£ãš`ThisWorkbook.Name`ããããã£ã¯ç©ºæååãè¿ããŸãã
- ã¯ãŒã¯ããã¯ãè€æ°éããŠããå Žåã`ActiveWorkbook.Name`ããããã£ã¯ã¢ã¯ãã£ããªã¯ãŒã¯ããã¯ã®ãã¡ã€ã«åãè¿ããŸãã
VBAã§ãã¡ã€ã«åã«å¶éã¯ãããŸããïŒ
VBAã§ãã¡ã€ã«åã«å¶éãããããšã確èªããã«ã¯ããã¡ã€ã«åã®åœåèŠåãç解ããå¿ èŠããããŸããäžè¬çã«ããã¡ã€ã«åã«ã¯ä»¥äžã®å¶éããããŸãã
VBAã§ãã¡ã€ã«åã«äœ¿çšã§ããæå
VBAã§ãã¡ã€ã«åã«äœ¿çšã§ããæåã¯ã以äžã®ãšããã§ãã
- ã¢ã«ãã¡ãããïŒAZãazïŒ
- æ°åïŒ09ïŒ
- ç¹æ®æåïŒ_ãã.ã$ã%ãã@ã!ã^ã&ãã(ã)ãªã©ïŒ
VBAã§ãã¡ã€ã«åã«äœ¿çšã§ããªãæå
VBAã§ãã¡ã€ã«åã«äœ¿çšã§ããªãæåã¯ã以äžã®ãšããã§ãã
- ì¬ëìïŒ/ãïŒ
- ã³ãã³ïŒ:ïŒ
- ã¢ã¹ã¿ãªã¹ã¯ïŒïŒ
VBAã§ãã¡ã€ã«åã®é·ãã«å¶é
VBAã§ãã¡ã€ã«åã®é·ãã«å¶éãããããšã確èªããã«ã¯ã以äžã®ç¹ã泚æããå¿ èŠããããŸãã
- ãã¡ã€ã«åã®æ倧é·ã¯255æåã§ãã
- ãã¡ã€ã«åã®æå°é·ã¯1æåã§ãã
- ãã¡ã€ã«åã«æ¡åŒµåãå«ãŸããŠããå Žåã¯ãæ¡åŒµåã®é·ããå«ããŠèšç®ããŸãã
Word VBAã§ãã¡ã€ã«åãååŸããæ¹æ³
Word VBAã䜿çšãããšãçŸåšéããŠããããã¥ã¡ã³ãã®ãã¡ã€ã«åãååŸããããšãã§ããŸãããã®æ å ±ã¯ãããã¥ã¡ã³ãã®ç®¡çãèªåååŠçã«ãããŠéåžžã«äŸ¿å©ã§ãã以äžã§ã¯ãWord VBAã䜿çšããŠãã¡ã€ã«åãååŸããæ¹æ³ã詳ãã説æããŸãã
ããã¥ã¡ã³ãã®ãã«ãã¹ãååŸãã
ããã¥ã¡ã³ãã®ãã«ãã¹ãååŸããã«ã¯ã以äžã®VBAã³ãŒãã䜿çšããŸãã vb Dim fullPath As String fullPath = ActiveDocument.FullName MsgBox fullPath ãã®ã³ãŒãã¯ã`ActiveDocument`ãªããžã§ã¯ãã®`FullName`ããããã£ã䜿çšããŠãçŸåšéããŠããããã¥ã¡ã³ãã®ãã«ãã¹ãååŸããŸããååŸãããã¹ã¯`fullPath`å€æ°ã«æ ŒçŽããã`MsgBox`é¢æ°ã䜿çšããŠè¡šç€ºãããŸãã
ããã¥ã¡ã³ãã®ååãååŸãã
ããã¥ã¡ã³ãã®ååã ããååŸããã«ã¯ã以äžã®VBAã³ãŒãã䜿çšããŸãã vb Dim docName As String docName = ActiveDocument.Name MsgBox docName ãã®ã³ãŒãã¯ã`ActiveDocument`ãªããžã§ã¯ãã®`Name`ããããã£ã䜿çšããŠãçŸåšéããŠããããã¥ã¡ã³ãã®ååãååŸããŸããååŸããååã¯`docName`å€æ°ã«æ ŒçŽããã`MsgBox`é¢æ°ã䜿çšããŠè¡šç€ºãããŸãã
ãã¡ã€ã«åãšæ¡åŒµåãåé¢ãã
ãã¡ã€ã«åãšæ¡åŒµåãåé¢ããã«ã¯ã以äžã®VBAã³ãŒãã䜿çšããŸãã vb Dim fullPath As String Dim fileName As String Dim fileExt As String fullPath = ActiveDocument.FullName fileName = Dir(fullPath) fileExt = LCase(Right(fileName, Len(fileName) - InStrRev(fileName, ., , 1))) MsgBox ãã¡ã€ã«å: & fileName & vbNewLine & æ¡åŒµå: & fileExt ãã®ã³ãŒãã¯ã`Dir`é¢æ°ã䜿çšããŠãã«ãã¹ãããã¡ã€ã«åãååŸãã`InStrRev`é¢æ°ãš`Right`é¢æ°ã䜿çšããŠãã¡ã€ã«åããæ¡åŒµåãæœåºããŸããååŸãããã¡ã€ã«åãšæ¡åŒµåã¯`MsgBox`é¢æ°ã䜿çšããŠè¡šç€ºãããŸãã
ãã¡ã€ã«åã䜿çšããåŠçã®èªåå
ååŸãããã¡ã€ã«åã䜿çšããŠãæ§ã ãªåŠçãèªååããããšãã§ããŸããäŸãã°ããã¡ã€ã«åã«åºã¥ããŠç¹å®ã®æäœãå®è¡ãããããã¡ã€ã«åã䜿çšããŠä»ã®ããã¥ã¡ã³ããããŒã¿ããŒã¹ãšã®é£æºãè¡ã£ããããããšãã§ããŸãã
ãšã©ãŒåŠç
ãã¡ã€ã«åãååŸããéã«ã¯ããšã©ãŒåŠçãå®è£ ããããšãéèŠã§ããäŸãã°ãããã¥ã¡ã³ãããŸã ä¿åãããŠããªãå Žåã`FullName`ããããã£ã`Name`ããããã£ã¯ãšã©ãŒãè¿ããŸãããã®ããããšã©ãŒåŠçã䜿çšããŠãããã¥ã¡ã³ããä¿åãããŠãããã©ããã確èªããããšãæãŸããã§ãã
ããããã£/é¢æ° | 説æ |
---|---|
FullName | ããã¥ã¡ã³ãã®ãã«ãã¹ãååŸããŸãã |
Name | ããã¥ã¡ã³ãã®ååãååŸããŸãã |
Dir | ãã«ãã¹ãããã¡ã€ã«åãååŸããŸãã |
InStrRev | æååå ã§æå®ããæåãæåŸã«çŸããäœçœ®ãååŸããŸãã |
Right | æååã®å³åŽããæå®ããæ°ã®æåãååŸããŸãã |
VBAã§ãã¡ã€ã«ã®çš®é¡ãååŸããã«ã¯ã©ãããã°ããã§ããïŒ
VBAã§ãã¡ã€ã«ã®çš®é¡ãååŸããã«ã¯Diré¢æ°ã䜿çšããŸããDiré¢æ°ã¯ãæå®ãããã¹ã®ãã¡ã€ã«ããã£ã¬ã¯ããªã®æ å ±ãååŸããããšãã§ããŸãããã¡ã€ã«ã®çš®é¡ãååŸããã«ã¯ããã¡ã€ã«ã®æ¡åŒµåãååŸããã°ããã§ãã
Diré¢æ°ã䜿çšãããã¡ã€ã«ã®çš®é¡ã®ååŸæ¹æ³
Diré¢æ°ã䜿çšããŠãã¡ã€ã«ã®çš®é¡ãååŸããæ¹æ³ã¯ä»¥äžã®éãã§ãã
- Diré¢æ°ã䜿ã£ãŠãã¡ã€ã«åãååŸããã
- ååŸãããã¡ã€ã«åããæ¡åŒµåãæœåºããã
- æ¡åŒµåãããšã«ãã¡ã€ã«ã®çš®é¡ãå€æããã
ãã¡ã€ã«ã®æ¡åŒµåãååŸããæ¹æ³
ãã¡ã€ã«ã®æ¡åŒµåãååŸããã«ã¯ãRighté¢æ°ãšInStré¢æ°ãçµã¿åãããŠäœ¿çšããŸãã
- InStré¢æ°ã䜿ã£ãŠããã¡ã€ã«åã«ããªãªããç»å Žããäœçœ®ãååŸããã
- Righté¢æ°ã䜿ã£ãŠãããªãªã以éã®æååïŒæ¡åŒµåïŒãååŸããã
ãã¡ã€ã«ã®çš®é¡ãå€æããæ¹æ³
æ¡åŒµåãååŸãããããããããšã«ãã¡ã€ã«ã®çš®é¡ãå€æããŸããããšãã°ãæ¡åŒµåã.xlsã.xlsxãªãExcelãã¡ã€ã«ã.docã.docxãªãWordãã¡ã€ã«ããšããããã«å€æã§ããŸãã
- æ¡åŒµåãååŸããã
- ååŸããæ¡åŒµåãšãäºãå®çŸ©ããŠãããæ¡åŒµåãªã¹ããæ¯èŒããã
- äžèŽããæ¡åŒµåãããã°ããã®ãã¡ã€ã«ã®çš®é¡ãç¹å®ããã
Wordã®VBAã§äœãã§ããŸããïŒ
Wordã®VBAïŒVisual Basic for ApplicationsïŒã§ã¯ãWordææžã®äœæãç·šéã管çãªã©ã®èªååãã§ããŸããå ·äœçã«ã¯ä»¥äžã®ãããªããšãå¯èœã§ãã
ææžã®èªåçæ
Wordã®VBAã䜿ãã°ãããŒã¿ãå ã«èªåçã«ææžãçæããããšãã§ããŸããäŸãã°ã以äžã®ãããªããšãã§ããŸãã
- å®åæã®æ¿å ¥: æ¥ä»ãäœæãæ°åãªã©ãå®åçãªæ å ±ãèªåçã«æ¿å ¥ã§ããŸãã
- ããŒã¿ã«ããææžã®ã«ã¹ã¿ãã€ãº: ããŒã¿ããŒã¹ããæ å ±ãååŸããããã«åºã¥ããŠææžã®å 容ãã«ã¹ã¿ãã€ãºã§ããŸãã
- æ§ã ãªåœ¢åŒã§ã®ææžä¿å: çæããææžãPDFãHTMLãªã©ãæ§ã ãªåœ¢åŒã§ä¿åããããšãã§ããŸãã
ææžã®èªåç·šé
VBAã䜿ã£ãŠãWordææžã®ç·šéäœæ¥ãèªååããããšãã§ããŸãã以äžã®ãããªã¿ã¹ã¯ãèªååã§ããŸãã
- æååã®æ€çŽ¢ã»çœ®æ: ææžå ã®ç¹å®ã®æååãæ€çŽ¢ããä»ã®æååã«çœ®æã§ããŸãã
- æžåŒèšå®ã®èªåå: ææžã®ãã©ã³ããæåãµã€ãºã段èœèšå®ãªã©ãèªåçã«å€æŽã§ããŸãã
- è¡šãã°ã©ãã®æäœ: è¡šãã°ã©ãã®äœæãç·šéãåé€ãèªååã§ããŸãã
ææžã®ç®¡ç
Wordã®VBAã¯ãææžã®ç®¡çã¿ã¹ã¯ãèªååã§ããŸãã以äžã®ãããªæ©èœãå®è£ ã§ããŸãã
- ææžã®ããã¯ã¢ãã: ææžãèªåçã«ããã¯ã¢ããããããšã§ãããŒã¿ã®æ倱ãé²æ¢ã§ããŸãã
- ææžã®ä¿è·: ææžããã¹ã¯ãŒãã§ä¿è·ããäžæ£ã¢ã¯ã»ã¹ãé²ãããšãã§ããŸãã
- ææžã®åæ£: ææžãèªåçã«ã¡ãŒã«æ·»ä»ãã¡ã€ã«ãšããŠéä¿¡ãããããããã¯ãŒã¯ãã©ã«ãã«ä¿åãããã§ããŸãã
ãããã質å
Word VBAã§ãã¡ã€ã«åãååŸããæ¹æ³ã¯ãããŸããïŒ
Word VBAã§ãã¡ã€ã«åãååŸããæ¹æ³ã¯ãããã€ããããŸãããæãã·ã³ãã«ãªæ¹æ³ã¯ãActiveDocument.Nameããããã£ã䜿çšããããšã§ãããã®ããããã£ã¯ãçŸåšéããŠããããã¥ã¡ã³ãã®ãã¡ã€ã«åãè¿ããŸããäŸãã°ãMsgBox ActiveDocument.Name
ãšå
¥åãããšãçŸåšã®ããã¥ã¡ã³ãã®ãã¡ã€ã«åã衚瀺ãããŸãã
ãã«ãã¹ãå«ããã¡ã€ã«åãååŸããã«ã¯ã©ãããã°ããã§ããïŒ
ãã«ãã¹ãå«ããã¡ã€ã«åãååŸããã«ã¯ãActiveDocument.FullNameããããã£ã䜿çšããŸãããã®ããããã£ã¯ãããã¥ã¡ã³ãã®å®å
šãªãã¹ãšãã¡ã€ã«åãè¿ããŸããäŸãã°ãMsgBox ActiveDocument.FullName
ãšå
¥åãããšãçŸåšã®ããã¥ã¡ã³ãã®ãã«ãã¹ãšãã¡ã€ã«åã衚瀺ãããŸãã
ãã¡ã€ã«åã ããååŸããæ¡åŒµåãé€ãæ¹æ³ã¯ãããŸããïŒ
ãã¡ã€ã«åã ããååŸããæ¡åŒµåãé€ãæ¹æ³ããããŸãããã®ããã«ã¯ãActiveDocument.Nameããããã£ãšãVBAã®Lefté¢æ°ãšInStrRevé¢æ°ãçµã¿åãããŠäœ¿çšããŸãã以äžã®ã³ãŒãã¯ãæ¡åŒµåãé€ãããã¡ã€ã«åãååŸããäŸã§ãã
Dim FileName As String
FileName = Left(ActiveDocument.Name, InStrRev(ActiveDocument.Name, .) - 1)
MsgBox FileName
Word VBAã§è€æ°ã®ããã¥ã¡ã³ããéããŠããå Žåãç¹å®ã®ããã¥ã¡ã³ãã®ãã¡ã€ã«åãååŸããæ¹æ³ã¯ãããŸããïŒ
è€æ°ã®ããã¥ã¡ã³ããéããŠããå Žåãç¹å®ã®ããã¥ã¡ã³ãã®ãã¡ã€ã«åãååŸããã«ã¯ãDocumentsã³ã¬ã¯ã·ã§ã³ã䜿çšããŸããäŸãã°ãæåã«éãããããã¥ã¡ã³ãã®ãã¡ã€ã«åãååŸããã«ã¯ãMsgBox Documents(1).Name
ãšå
¥åããŸãããŸããããã¥ã¡ã³ãã®ååãç¥ã£ãŠããå Žåã¯ãMsgBox Documents(ããã¥ã¡ã³ãå).Name
ãšå
¥åããããšã§ããã®ããã¥ã¡ã³ãã®ãã¡ã€ã«åãååŸã§ããŸãã
ð Word VBA ãã¡ã€ã« å ååŸïŒWord VBAã§ãã¡ã€ã«åãååŸããæ¹æ³ ã«é¡äŒŒããä»ã®èšäºãç¥ãããå Žåã¯ãWord åºæ¬æäœ ã«ããŽãªã«ã¢ã¯ã»ã¹ããŠãã ããã
ã³ã¡ã³ããæ®ã
é¢é£èšäº