ExcelVBAer匍匐前進

Excelの限界に挑戦するVBAer

VBEアドインの1年戦争

前回のブログから約1年、

長い1年だったな~

ってことで、

ノンプロ研のアドベントカレンダー24日目(えっ?! クリスマスイブ??!!)

※ 他の記事はこちらから~ https://adventar.org/calendars/5360

 

※前回の記事はこちら~ノ゚∀゚)ノヤットサー!

x1xy2xyz3.hatenablog.com

 

 

皆様1年おつかれさまでした!!

長い1年だったかと思います(T_T)

 

また冬が始まってきたところで、

VBEアドインに焦点をあてて振り返ってみますー!!

 

 

 

 

ちょうど1年前、ついに掘り当てた夢のVBEアドイン!!!!!!

f:id:x1xy2xyz3:20191222161236p:plain

苦節◯年ついに!!!(T_T)

 

それからの概略を つ

・1月冬眠入
・2月冬眠中
・3月冬眠から起きる
・4月検索フォームのレベルアップ
・5検索フォーム超高速化 ♪
・6月インストーラ検討
・7月インストーラ開発
・8月インストーラ完成(検索フォーム)
・9月ショートカットキーをハック 
・10ショートカットキー充実 ♪♪
・11オートバックアップ追加 ♪♪♪ 
・11スクロールキャプチャ追加 ♪♪♪♪
・12月この記事の最後に妄想を語ります^^



さて、冬は寒いもんで、
自分は寒さに弱いもんでして、
いつも12-3月頃は冬眠モードなんです(汗)

月末から開発を再開し、
VBEアドインの検索フォームの機能を、
公開できるくらいまでひたすらレベルアーップ!!!

f:id:x1xy2xyz3:20201223181740p:plain

検索レベルアップ

f:id:x1xy2xyz3:20201223190233p:plain

検索フォーム(2020\12現在)




インストーラどうしようかな??
なんて考えてたら、コロナで、
まさかのリモートワークに(゜o゜;

 

フリーランスで常駐型SES案件だったので、
リモワなんて諦めつつ毎朝憂鬱ドロ~ンと通勤してたので、
よかっったー!!\(^o^)/

 

通勤時間が無くなったので、
月から平日の開発時間をゲット~!!!!!

f:id:x1xy2xyz3:20201223181849p:plain

時間をゲットー!!(盗んではないよー)

レベルアップついでに、
検索を超高速化!!!!

f:id:x1xy2xyz3:20201223182004p:plain

検索フォーム超高速化☆



RubberDuck は Innosetup??
国産の無いの??と焦ってたら、
これを使ってみなよーと天の声が(ヒャッホーイ)

EXEpress 6 | ウェブテクノロジ

 

 

VisualStudioと連携させて、
末ついに夢のインストーラがに完成(T_T)

www.excelsystem.jp

 

いやー情報が少なすぎて辛かった...

RubberDuckをインストールしてみて、
前後のレジストリの差分をとって、
何がどうなってるんだ??!!!
と暗号を解読していき...

先例があるのはいいことですねー!!

 


 
そして、ノンプロ研で試しに公開して反応を頂き、
修正を繰り返して、
更により多くの人に使ってもらおうと、
Twitterデビュー!!!

f:id:x1xy2xyz3:20201223182454p:plain

9月からVBEアドインひっさげてTwitterデビュー



Twitter自体が初めてだったんですよね(^_^;)
恐る恐るはじめて、少しづつ呟いてたら、
凄くいいリアクションを頂けつつ、
『ショートカットキーが使いたい』という声がチラホラ...


それなー!!!!!
とキーボードをフック(Hook)してハックして、
月に公開~♪



そしらめちゃくちゃリアクションを頂けた方(@KotorinChunChun ことりちゅんさん)
がいてはって、
色んな使い方を試してくれて、
それに応えるべく、猛調整~!!!(・・;)

 

お陰さまで、10月はショートカットキー充実化 ♪♪
ちゅんさん!! その節はありがとうござました~!!!!\(^o^)/

f:id:x1xy2xyz3:20201223183607p:plain

充実のショートカットキー

 

そしたらまさかの、
WordMVPの新田さんがブログで紹介!!!

びっくり嬉し恥ずかし(。>﹏<。)
ありがとうございました!!^^

f:id:x1xy2xyz3:20201223183908p:plain

新田さん紹介!!

www.wordvbalab.com





ただ、順風満帆でもなく、
10月末、VBEアドインを熱心に使って頂いてた方が、
エクセルが急に落ちた(T_T)
Twitterで悲鳴が...

まさか?! ひょっとして??!!
と調べてみると、
予期せぬエラーが起きると、
テレビの電源を切ったくらいの早さで、
エクセルがピュン!! っと落ちてしまう事が判明・・・

そして更にあれこれ3日ほど調べたところ、
たまーにバグる箇所を発見・・・(T_T)

調べて、直して、テストして、これだけじゃ不十分だ・・
と自動バックアップ機能を付けてたりしたら、
なんだか謝るタイミングを逸してしまったので、
この場をお借りして、改めて、
落としちゃった方々、ごめんなさいm(_ _;)m

そんな背景もあり11月に自動バックアップ機能追加しました~!!
いやー胃が痛かった...(^_^;)






Twitterやってたら、神髄先生がVBAの問題を出してて、
たまに回答をアップしてたら、
コードのキャプチャを撮るのが面倒で、
スクロールキャプチャできたらいいのにな~!!
ってことで、
11末スクロールキャプチャ追加 !!!


簡単に作った感はあるけど、
1年前くらいに仕事で
IEのスクロールキャプチャを作った時に参考にさせて頂いた、
緑里庵さんという方が公開されてた
IEShot というVBAプログラムがベースになってます~
緑里庵さんありがとうございました!!!!m(_ _)m

※WinAPIの凄技の嵐なので、超絶大変でした(・・;)

IEShot|ライブラリ|踊るエクセル

 

ただ、後から分かったんだけど、
Twitterに大きい画像をアップすると、
自動で補正がかかってモザイク化(T_T)

頑張って作ったのになんだかなぁ...orz




最新版はこちらから~ノ゚∀゚)ノヤットサー!

踊るVBE|踊るエクセル

 

 



いやー色々あって大変だったけど、
かなり充実した1年でした~(^_^)







では、VBEアドインこれからをチラっと
※妄想順ですw


・Ctrl+マウススクロールで拡大・縮小(フォントサイズ)
(歳を重ねた時に、文字を見る辛さを軽減したい...)
(Ctrl+Shift+マウススクロールで横スクロールもしたい...)

・各種エラーチェック

f:id:x1xy2xyz3:20201223185312p:plain

こんなイメージ(チェック内容)

GitHub連携

f:id:x1xy2xyz3:20201223185358p:plain

VBE↔GitHub?!?!

・プロジェクトウィンドウ

(より簡単にモジュールやプロシージャを参照できるよう...)

 

・インデント自動調整

(不毛なインデントの手動調整に終わりを告げたい...)

・DIFF(テキストファイル、モジュール...etc)

(WinMergeを使わずとも、色々Diffれると便利なハズ... ロジックはできてるし...)

 

・簡易エクスプローラ

(VBE画面とフォルダを行ったり来たりしなくてすむように...)

 

・コールツリー

(呼び出しツリー、コールグラフ...etc 色んな呼び方あるけど、関数の処理ルートを可視化したもの)

 

・ReVBAer(仮)
(JetBrain社のReSharper, Rider のような、コードの自動補完とかを色々やっちゃってくれるやつー)

Rider: JetBrainsのクロスプラットフォーム.NET IDE

 

 



作りたい機能・妄想は膨らむばかり(笑)
何をどこまでできるかわかりませんが、
ゆる~く来年もやってみようかと^^

ノンプロ研の皆様には、
これからもいち早く新機能をお知らせしていきますので、
また来年もリアクション頂けると嬉しいです^^

https://tonari-it.com/community-nonpro-semi/



 ではでは、メリ~クリスマス!!!~☆

f:id:x1xy2xyz3:20201224064636p:plain

メリクリ!!(どこかにフルーツが隠れてるよ?!)




 

VBEアドインの夜明け?

ノンプロ研メンバーで順番にブログを投稿するアドベントカレンダーに参加!
この記事は「ノンプロ研 Advent Calendar 2019」の23日目!
※コロ子さんのコピペです。ありがとうございますm(__)m


はじめまして!
踊るエクセルの庄野です!!

毎年、地元徳島の阿波おどりで踊ってます!!!
ヽ(;・。・ヽヤットヤットー(ノ・ 。・;)ノヤットサー


略歴

徳島 ・・・ ~高校
大阪 ・・・ 大学&化粧品業界
東京 ・・・ 転職(Excel関係)
大阪 ・・・ フリーランス   ←★いまここ


ブログなんて初めてなもんで、
色々とご容赦ください~

ノンプロ研との出会い

2年前かな? 高橋さんの黒本に出会い、
この本が東京時代にあったら良かったのに~!!
...と今年から大阪のもくもく会に参加しとります~


もともと面倒ごとが非常に苦手で、
このカレンダーもポチったものの、
前日にやっと書き出したくらいで、
なぜ参加してしまったのか少々後悔気味です(笑)

 

Excelとの出会い

さて、Excelとの出会いを少し思い出せば、
化粧品の企画部(名ばかりの庶務課)だった頃、
色々と面倒な計算をしなければならず、
Excelを使えば楽できる! っと気付いて
そこから数式を使いはじめ、
1年後くらいにマクロを、という流れで、
気付いたらこの業界にどっぷり。。。


VBEアドインとの出会い

っとまぁ前置きはこれくらいにしておいて、
構想3年、待つこと2年(RubberDuck)、
昨年に奮起するも失敗してやる気を無くし、
今年、再チャレンジしてようやく突破した、
VBEアドインを少しご紹介させて頂きます!!


そう、VBEアドイン!!
皆さんお馴染みのExcelのマクロを書くVBEを
便利にするアドインが作れるんです!!

f:id:x1xy2xyz3:20191222150301p:plain

VBEメニューバー

VBEのメニューバーに「アドイン」があるので、
なんとなーく、自分で作れるんだろうなぁ~、
という事は予想してたのですが、
構想当初は情報量があまりにも少なく、
本当に作れる実感がなかった(汗)

 


そう、3年後、RubberDuckに出会うまでは。

 

f:id:x1xy2xyz3:20191222150527p:plain

RubberDuck




RubberDuckがある事を知り、

Trouble with 64 bit Versions of&nbsp;Officerubberduckvba.wordpress.com


MZ-Toolがあることも知り、

www.wordvbalab.com


日本でもVBEアドインを作ってる先輩がいることもわかった!!

www.ka-net.org






いける!! いけそうな気がする!!

f:id:x1xy2xyz3:20191222171520p:plain

かわうそ






 

ここで少し、
なぜそこまで?!
と思う方々もいるでしょう。




 

長年(とは言っても8年ほどですが)
VBEと付き合ってくると、
なんで○○ができないんだろう?!!!!
って思う事が多々あるのです...

その筆頭が「検索」







なぜ「次へ」「次へ」とクリックしないといけないのか ??!!

f:id:x1xy2xyz3:20191222151644p:plain

次を検索の地獄ループ









途中でコードウィンドウの中をクリックすると、
なぜ1巡するのに最初からやりなおさないといけないのか !!??

f:id:x1xy2xyz3:20191222152638p:plain

時間泥棒

 

検索する度にイライラコップに雫が溜まっていき、
RubberDuckの完成を待つこと2年でしびれを切らしました。
※自分が開発用に使ってる大量コードだと、多機能すぎて動かないという側面もあり...

f:id:x1xy2xyz3:20191222152938p:plain

イライラコップ


なんとかできないかと、考えあぐね、
MZ-Toolの作者(カルロス氏)に直接コンタクトをとってみたら、
幸運にもVBEアドインの作り方を教わる事ができたのです!!
※カルロス氏は、RubberDuckの開発にも携わってるようです。

f:id:x1xy2xyz3:20191222153231p:plain

カルロスからの返信メール


ただ、教わったと言っても、
彼のブログの1ページを教えてもらえただけで
そこから先はご自分で、というスタイルだったんですがね(笑)
(それだけでも非常に有り難いのですが)

f:id:x1xy2xyz3:20191222153407p:plain

カルロス氏


しかし、膨大な量の英語と、幾ページもの内容に圧倒され、
少し読みかじったところでVBEアドインに挑戦するも、
あえなく挫折...

f:id:x1xy2xyz3:20191222154655p:plain

VBEblog

あぁ、無理だ諦めよう。
自分にはハードルが高すぎたんだ...
そう思いすさんでましたよ。。。

f:id:x1xy2xyz3:20191222174926p:plain

orz

 

 

 



しかし、とある兄さんN氏とVBA談義してた折、
可能性があるのにもったいない!! って励まして頂き、
その直後の秋から再チャレンジ!!
※面倒ごとは大嫌いですが、ほふく前進は嫌いではないです。

f:id:x1xy2xyz3:20191222155420p:plain

再チャレンジ

 

仕事の合間にカルロス氏のブログを読み直し、
VBEに関する全ページを洗い出し、
全ての英語を翻訳し尽くし、
夢にまで見たVBEアドインの全容が明らかに!!

f:id:x1xy2xyz3:20191222155800p:plain

発見





そして、ついに!!
自作のVBEアドインが目の前に!!!!!

f:id:x1xy2xyz3:20191222160918p:plain

踊るVBE


検索が一瞬で終わる!
※計測したらVBAの検索の倍速!!!



検索結果が一覧で見れる!!
※ダブルクリックで該当箇所へ!!



検索の条件が自分好みにできる!!!!
※コメントは除外、関数名のみ、etc...

f:id:x1xy2xyz3:20191222161236p:plain

やったー!!

f:id:x1xy2xyz3:20191222173718p:plain

踊るVBE






ただ、ここまで書いておいてなんですが、
実はまだ完成してません...

すみません....orz..






というのも、皆さんにお使い頂けるようにする為には、
インストーラとやらが必要みたいなので、
そのハードルを突破できたら、
改めてご紹介させて頂ければと思います。


その後は、不要な変数の検出や、
関数の呼び出しを階層表示(コールツリー)、
コードのバージョン管理&差分検出、
変数・関数名の難読化や、
VBProjectの完全ロック(社外秘)などなど、
VBA開発にあったらいいな!! なことを
盛り込んでいきたいと思ってますので、
声援を頂けるともう少し頑張れるかな~と(^_^)




最後に、応援頂いたカルロス氏、新田氏に、
この場をお借りして改めて感謝します!! 
Mil gracias !!!!(スペインゴで本当にありがとう)


ではでは、Chao!! Nos vemos!!
(チャオ!! ノスベーモス!!)

※スペインゴで「またね」

2020年某日 インストーラー完成!!!\(T_T)/

www.excelsystem.jp

 

他にも今年に作ったものがあったので、
まぁ興味ある方は適当に~