VBEアドインの1年戦争
前回のブログから約1年、
長い1年だったな~
ってことで、
ノンプロ研のアドベントカレンダー24日目(えっ?! クリスマスイブ??!!)
※ 他の記事はこちらから~ https://adventar.org/calendars/5360
※前回の記事はこちら~ノ゚∀゚)ノヤットサー!
皆様1年おつかれさまでした!!
長い1年だったかと思います(T_T)
また冬が始まってきたところで、
VBEアドインに焦点をあてて振り返ってみますー!!
ちょうど1年前、ついに掘り当てた夢のVBEアドイン!!!!!!
それからの概略を つ
・1月冬眠入
・2月冬眠中
・3月冬眠から起きる
・4月検索フォームのレベルアップ
・5月検索フォーム超高速化 ♪
・6月インストーラ検討
・7月インストーラ開発
・8月インストーラ完成(検索フォーム)
・9月ショートカットキーをハック
・10月ショートカットキー充実 ♪♪
・11月オートバックアップ追加 ♪♪♪
・11末スクロールキャプチャ追加 ♪♪♪♪
・12月この記事の最後に妄想を語ります^^
さて、冬は寒いもんで、
自分は寒さに弱いもんでして、
いつも12-3月頃は冬眠モードなんです(汗)
3月末から開発を再開し、
VBEアドインの検索フォームの機能を、
公開できるくらいまでひたすらレベルアーップ!!!
インストーラどうしようかな??
なんて考えてたら、コロナで、
まさかのリモートワークに(゜o゜;
フリーランスで常駐型SES案件だったので、
リモワなんて諦めつつ毎朝憂鬱ドロ~ンと通勤してたので、
よかっったー!!\(^o^)/
通勤時間が無くなったので、
5月から平日の開発時間をゲット~!!!!!
レベルアップついでに、
検索を超高速化!!!!
RubberDuck は Innosetup??
国産の無いの??と焦ってたら、
これを使ってみなよーと天の声が(ヒャッホーイ)
VisualStudioと連携させて、
8末ついに夢のインストーラがに完成(T_T)
いやー情報が少なすぎて辛かった...
RubberDuckをインストールしてみて、
前後のレジストリの差分をとって、
何がどうなってるんだ??!!!
と暗号を解読していき...
先例があるのはいいことですねー!!
そして、ノンプロ研で試しに公開して反応を頂き、
修正を繰り返して、
更により多くの人に使ってもらおうと、
Twitterデビュー!!!
Twitter自体が初めてだったんですよね(^_^;)
恐る恐るはじめて、少しづつ呟いてたら、
凄くいいリアクションを頂けつつ、
『ショートカットキーが使いたい』という声がチラホラ...
それなー!!!!!
とキーボードをフック(Hook)してハックして、
9月に公開~♪
そしらめちゃくちゃリアクションを頂けた方(@KotorinChunChun ことりちゅんさん)
がいてはって、
色んな使い方を試してくれて、
それに応えるべく、猛調整~!!!(・・;)
お陰さまで、10月はショートカットキー充実化 ♪♪
ちゅんさん!! その節はありがとうござました~!!!!\(^o^)/
そしたらまさかの、
WordMVPの新田さんがブログで紹介!!!
びっくり嬉し恥ずかし(。>﹏<。)
ありがとうございました!!^^
ただ、順風満帆でもなく、
10月末、VBEアドインを熱心に使って頂いてた方が、
エクセルが急に落ちた(T_T)
とTwitterで悲鳴が...
まさか?! ひょっとして??!!
と調べてみると、
予期せぬエラーが起きると、
テレビの電源を切ったくらいの早さで、
エクセルがピュン!! っと落ちてしまう事が判明・・・
そして更にあれこれ3日ほど調べたところ、
たまーにバグる箇所を発見・・・(T_T)
調べて、直して、テストして、これだけじゃ不十分だ・・
と自動バックアップ機能を付けてたりしたら、
なんだか謝るタイミングを逸してしまったので、
この場をお借りして、改めて、
落としちゃった方々、ごめんなさいm(_ _;)m
そんな背景もあり11月に自動バックアップ機能追加しました~!!
いやー胃が痛かった...(^_^;)
Twitterやってたら、神髄先生がVBAの問題を出してて、
たまに回答をアップしてたら、
コードのキャプチャを撮るのが面倒で、
スクロールキャプチャできたらいいのにな~!!
ってことで、
11末スクロールキャプチャ追加 !!!
簡単に作った感はあるけど、
1年前くらいに仕事で
IEのスクロールキャプチャを作った時に参考にさせて頂いた、
緑里庵さんという方が公開されてた
IEShot というVBAプログラムがベースになってます~
緑里庵さんありがとうございました!!!!m(_ _)m
※WinAPIの凄技の嵐なので、超絶大変でした(・・;)
ただ、後から分かったんだけど、
Twitterに大きい画像をアップすると、
自動で補正がかかってモザイク化(T_T)
頑張って作ったのになんだかなぁ...orz
最新版はこちらから~ノ゚∀゚)ノヤットサー!
いやー色々あって大変だったけど、
かなり充実した1年でした~(^_^)
では、VBEアドインのこれからをチラっと
※妄想順ですw
・Ctrl+マウススクロールで拡大・縮小(フォントサイズ)
(歳を重ねた時に、文字を見る辛さを軽減したい...)
(Ctrl+Shift+マウススクロールで横スクロールもしたい...)
・各種エラーチェック
・GitHub連携
・プロジェクトウィンドウ
(より簡単にモジュールやプロシージャを参照できるよう...)
・インデント自動調整
(不毛なインデントの手動調整に終わりを告げたい...)
・DIFF(テキストファイル、モジュール...etc)
(WinMergeを使わずとも、色々Diffれると便利なハズ... ロジックはできてるし...)
・簡易エクスプローラ
(VBE画面とフォルダを行ったり来たりしなくてすむように...)
・コールツリー
(呼び出しツリー、コールグラフ...etc 色んな呼び方あるけど、関数の処理ルートを可視化したもの)
・ReVBAer(仮)
(JetBrain社のReSharper, Rider のような、コードの自動補完とかを色々やっちゃってくれるやつー)
Rider: JetBrainsのクロスプラットフォーム.NET IDE
作りたい機能・妄想は膨らむばかり(笑)
何をどこまでできるかわかりませんが、
ゆる~く来年もやってみようかと^^
ノンプロ研の皆様には、
これからもいち早く新機能をお知らせしていきますので、
また来年もリアクション頂けると嬉しいです^^
https://tonari-it.com/community-nonpro-semi/
ではでは、メリ~クリスマス!!!~☆
VBEアドインの夜明け?
ノンプロ研メンバーで順番にブログを投稿するアドベントカレンダーに参加!
この記事は「ノンプロ研 Advent Calendar 2019」の23日目!
※コロ子さんのコピペです。ありがとうございますm(__)m
はじめまして!
踊るエクセルの庄野です!!
毎年、地元徳島の阿波おどりで踊ってます!!!
ヽ(;・。・ヽヤットヤットー(ノ・ 。・;)ノヤットサー
略歴
徳島 ・・・ ~高校
大阪 ・・・ 大学&化粧品業界
東京 ・・・ 転職(Excel関係)
大阪 ・・・ フリーランス ←★いまここ
ブログなんて初めてなもんで、
色々とご容赦ください~
ノンプロ研との出会い
2年前かな? 高橋さんの黒本に出会い、
この本が東京時代にあったら良かったのに~!!
...と今年から大阪のもくもく会に参加しとります~
もともと面倒ごとが非常に苦手で、
このカレンダーもポチったものの、
前日にやっと書き出したくらいで、
なぜ参加してしまったのか少々後悔気味です(笑)
Excelとの出会い
さて、Excelとの出会いを少し思い出せば、
化粧品の企画部(名ばかりの庶務課)だった頃、
色々と面倒な計算をしなければならず、
Excelを使えば楽できる! っと気付いて
そこから数式を使いはじめ、
1年後くらいにマクロを、という流れで、
気付いたらこの業界にどっぷり。。。
VBEアドインとの出会い
っとまぁ前置きはこれくらいにしておいて、
構想3年、待つこと2年(RubberDuck)、
昨年に奮起するも失敗してやる気を無くし、
今年、再チャレンジしてようやく突破した、
VBEアドインを少しご紹介させて頂きます!!
そう、VBEアドイン!!
皆さんお馴染みのExcelのマクロを書くVBEを
便利にするアドインが作れるんです!!
VBEのメニューバーに「アドイン」があるので、
なんとなーく、自分で作れるんだろうなぁ~、
という事は予想してたのですが、
構想当初は情報量があまりにも少なく、
本当に作れる実感がなかった(汗)
そう、3年後、RubberDuckに出会うまでは。
RubberDuckがある事を知り、
Trouble with 64 bit Versions of Officerubberduckvba.wordpress.com
MZ-Toolがあることも知り、
日本でもVBEアドインを作ってる先輩がいることもわかった!!
いける!! いけそうな気がする!!
ここで少し、
なぜそこまで?!
と思う方々もいるでしょう。
長年(とは言っても8年ほどですが)
VBEと付き合ってくると、
なんで○○ができないんだろう?!!!!
って思う事が多々あるのです...
その筆頭が「検索」。
なぜ「次へ」「次へ」とクリックしないといけないのか ??!!
途中でコードウィンドウの中をクリックすると、
なぜ1巡するのに最初からやりなおさないといけないのか !!??
検索する度にイライラコップに雫が溜まっていき、
RubberDuckの完成を待つこと2年でしびれを切らしました。
※自分が開発用に使ってる大量コードだと、多機能すぎて動かないという側面もあり...
なんとかできないかと、考えあぐね、
MZ-Toolの作者(カルロス氏)に直接コンタクトをとってみたら、
幸運にもVBEアドインの作り方を教わる事ができたのです!!
※カルロス氏は、RubberDuckの開発にも携わってるようです。
ただ、教わったと言っても、
彼のブログの1ページを教えてもらえただけで
そこから先はご自分で、というスタイルだったんですがね(笑)
(それだけでも非常に有り難いのですが)
しかし、膨大な量の英語と、幾ページもの内容に圧倒され、
少し読みかじったところでVBEアドインに挑戦するも、
あえなく挫折...
あぁ、無理だ諦めよう。
自分にはハードルが高すぎたんだ...
そう思いすさんでましたよ。。。
しかし、とある兄さんN氏とVBA談義してた折、
可能性があるのにもったいない!! って励まして頂き、
その直後の秋から再チャレンジ!!
※面倒ごとは大嫌いですが、ほふく前進は嫌いではないです。
仕事の合間にカルロス氏のブログを読み直し、
VBEに関する全ページを洗い出し、
全ての英語を翻訳し尽くし、
夢にまで見たVBEアドインの全容が明らかに!!
そして、ついに!!
自作のVBEアドインが目の前に!!!!!
検索が一瞬で終わる!
※計測したらVBAの検索の倍速!!!
検索結果が一覧で見れる!!
※ダブルクリックで該当箇所へ!!
検索の条件が自分好みにできる!!!!
※コメントは除外、関数名のみ、etc...
ただ、ここまで書いておいてなんですが、
実はまだ完成してません...
すみません....orz..
というのも、皆さんにお使い頂けるようにする為には、
インストーラとやらが必要みたいなので、
そのハードルを突破できたら、
改めてご紹介させて頂ければと思います。
その後は、不要な変数の検出や、
関数の呼び出しを階層表示(コールツリー)、
コードのバージョン管理&差分検出、
変数・関数名の難読化や、
VBProjectの完全ロック(社外秘)などなど、
VBA開発にあったらいいな!! なことを
盛り込んでいきたいと思ってますので、
声援を頂けるともう少し頑張れるかな~と(^_^)
最後に、応援頂いたカルロス氏、新田氏に、
この場をお借りして改めて感謝します!!
Mil gracias !!!!(スペインゴで本当にありがとう)
ではでは、Chao!! Nos vemos!!
(チャオ!! ノスベーモス!!)
※スペインゴで「またね」
2020年某日 インストーラー完成!!!\(T_T)/
他にも今年に作ったものがあったので、
まぁ興味ある方は適当に~