LoginSignup
1
7

More than 3 years have passed since last update.

機械エンジニアが、素人VBAでWordとパワポとAccessとOutlookとAutoCADの生産性を上げたい日々

Last updated at Posted at 2016-12-30

まずはVBA比較

その1「拡張子」

No. 項目 Excel Word PowerPoint Access Outlook AutoCAD
1 Image
Color
緑🟩 青🟦 橙🟧 赤🟥 水色 赤黒?
2 通常 .xlsx .docx .pptx .accdb .OTM
3 マクロ .xlsm .docm .pptm 同上 .OTM .dvb
4 アドイン .xlam .ppam .accda .OTM
5 マクロ有効
テンプレート
.xltm .dotm .potm .accdt

※Office2010時点
※Wordのアドイン(?)方法はNo.5のテンプレートを使用。
※Accessの「実行のみ」の拡張子は「.accde」
※Outlookは、「VbaProject.OTM」のファイルデータで統一している。VbaProjectは変更可能。

その2「This系とActive系の比較」

No. 項目 Excel Word PowerPoint Access Outlook AutoCAD
1 This系 ThisWorkbook ThisDocument ThisPresentation ? ? Thisdrawing
2 Active系 ActiveWorkbook
ActiveSheet
Activedocument ActiveWindow
ActivePresentation
Screen.ActiveControl ActiveInspector
ActiveExplorer
ActiveInlineResponse
ActiveInlineResponseWordEditor

その3「選択文章をメッセージボックスで表示」の例文

Excel

test01.xlsm
    Sub selectionTest()
        MsgBox Selection
    End Sub

word

test01.docm
    Sub selectionTest()
        MsgBox Selection
    End Sub

PowerPint

test01.pptm
    Sub selectionTest()
         MsgBox ActiveWindow.Selection.TextRange
    End Sub

Access

test01.access
    Sub selectionTest()
        MsgBox Screen.ActiveControl
    End Sub

Outlook その1

メールエディタを起動してない場合(編集中ではない)

    Sub selectionTest()
        MsgBox ActiveExplorer.Selection(1).GetInspector.WordEditor.Application.Selection
    End Sub

Outlook その2

メールエディタを起動中の場合(編集中)

    Sub selectionTest()
        MsgBox ActiveInspector.WordEditor.Application.Selection
    End Sub

AutoCAD

Sub selectionset()
  Dim sset As Acadselectionset
  Dim objEntity As AcadObject

  Set sset = Thisdrawing.SelectionSets.Add("NewSS")

  Call sset.SelectOnScreen

  For Each objEntity In sset
    MsgBox objEntity.textString    
  Next

sset.Delete
End Sub

注)AutoCADのVBAにはSelectionが無いです。SelectionSetSSelectOnScreenを合わせて同様な機能が可能なようです。

参考にしているVBA書籍(2017年4月時点)

  • Word向け
     →★最速攻略 Word マクロ / VBA徹底入門 土屋 和
     →★作って簡単・超便利! Wordのマクロ実践サンプル集 西上原 裕明
     →★Wordによる編集レイアウトの基本とDTP実践テクニック 西上原 裕明
  • AutoCAD向け
     →★AutoCAD 2000 VBA入門 (CAD press) 大浦誠著:図書館で借りました。
     →★「AutoCAD Platform Customization: VBA」:Amazonで買った洋書です。約3000円
     →★「AutoCAD VBA二次开发教程」:ネット検索で引っかかる中国語の本です。結構役立ちます。

マイナー向けVBAの情報収集方法

  • PowerPointとOutLookとAutoCADのVBA書籍が日本に皆無。時間のある時に本から情報を得たい性格なので辛い。
  • Access向けVBA書籍はありますが、現状は仕事で使わないので興味なし。
  • ネット検索すれば、ちらほら情報がありますが、特に「AutoCAD VBA」はやや難解で、勉強に一苦労。痒いところに手が届かず、かつ最終更新が10~20年前で絶滅危惧種。明日には無くなるのでは!?と要らぬ心配をして、心穏やかに安心して見ていられない。一方で、AutoCADは、AutoLISP関連の解説本が、根強く発売している。謎だ。他のAutoCADのプログラム本といえば、VB.NET(最速攻略AutoCAD VB.NETマクロサンプル大全集、落合重紀)があります。時代はやっぱり.NETみたい。
  • Amazon.co.jpや、Amazon.comで中華書籍や洋書が存在します。また、内容は中国語や英語ですが、ネット上で中を読むことが出来ます。2016年にも最新図書が発売されている様子
  • 和書のAutoCAD・VBA本は「AutoCAD 2000 VBA入門 (CAD press) 大浦誠著」が唯一ですが、発売日が西暦2000年です。古すぎます。東京、千葉、兵庫の大店舗の古本屋も数店行きましたが見つかりませんでした。Amazonで中古本もありますが20000円と高すぎ。
1
7
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
7