「vbe」を含む日記 RSS

はてなキーワード: vbeとは

2023-09-11

anond:20230911065242

レコーディングしたコードをいじる。

①表示→マクロからマクロの記録を選ぶ

操作する

③左下の記録停止■を押す

alt f11でVbe立ち上げ

コード編集

2022-07-03

VBAの発展は求めてないけどVBEは何とかしてほしい

というかvscodeにしてくれたらそれだけで満足なのだ

2021-09-25

マクロ化できたということは、正しくマニュアル化できたということでもある

担当者レベル野良マクロを書きたくなる業務というのは、大概ややこしいのである

無駄に手順が煩雑だったり、分岐例外処理の山なのである

引き継がれた通りにやったら、ここが10以下の時はこっちにしなきゃいけないとか言われる。

それどこに書いてあるんですかと聞くとどこそこのフォルダテキストメモで入ってるとか言われる。

前例確認しろとか言われる。

それこそ属人化の極みなのである

慣れた人は、ああこれは10以下のパターンからこっちの帳票だなってぱぱぱっと脳内で処理できるが、引き継がれた人はそうもいかない。

そんなことをされるとマクロ化したくてしょうがないのである

正しくマクロ化されていれば、少なくともVBEを覗けば、そこにその手順の全てが載っているということになる。

IFとFORとWHILE。GOTOさえ使わなければ、言語仕様によって強制的構造化された手順書がそこにある。

そこまで整理されることで、上司や前の担当者にすら把握されていなかった業務手順の全体像というものが見えてきて、ここの手順は他に影響しないし大してお客様の役にたっていませんよねとか改善提案ができるのである

そんなのわざわざマクロ化しないでも人間が読めるようにWordでまとめればいいだろ、と思うかもしれない。

しか人間曖昧さと空気読みが大得意で、文書でまとめるとつい厳密でない記述を残したり(こういった場合に注意する、とか。注意してどうするのか書かれない)、書かれていなくても経験とか常識対応できてしまう。

VBAには曖昧さは通用しないので、得てしてWordでまとめたマニュアルなどより遥かに正確で抜けのない読みやすい(言語さえ読めれば)業務手順になる。

マクロ化は礎(いしずえである

そこから正式業務マニュアルにすることもできる。改善提案もできる。

それだけでなく正式システム化発注する際の要件定義書にすらなりえる。

スクリプト言語とはいえマクロが書かれているということは、既にほぼシステム化されているようなものなので、そこから仕様を書き起こして少し検討するだけでいいのだ。

そういう能力を持った人材がいるのなら、むしろ管理職が先導して積極的マクロ化させるべきなのである

2021-02-22

関西人VBEに触れないでください。

 

2018-05-05

GASで勤怠管理をプチ自動化

GASを使うのは初めてだけど、なんとか形になった。

自動化っつってもそんなに大層なことはやってなくて、

  1. その日毎に勤務先・休日がそれぞれ異なるウン十名の従業員へ、スケジュール表を元に「今日はこの勤務先に出勤する日ですよー」と自動モーニングメール
  2. モーニングメールを受け取った従業員には定刻までに空メールで返信してもらう
  3. 定刻になったら返信メールを元に自動スケジュール表のセルを塗り潰して、返事のない従業員を一目で判別

そんな感じ。

感想として、前にもここに書いたけど純正エディタはすごく使いづらい。

頭文字大文字じゃないと動かない関数なのに自動変換してくれなかったり、閉じ括弧補完してくれなかったり、インデントも行毎にいちいちTABキーさなきゃいけなかったり、(これはたぶんだけど)ES6に対応してなかったり。せっかくjs使ってるのに…!

下手したらVBEより使いづらいかも。

あと、今回はスプレッドシートGmailしか使わなかったんだけど、カレンダーとかも交えた方が後々幸せかもしれない、と思った。

とにかく純正エディタから早く逃れたくて最後の方はやっつけになってしまった。

無料で使わせてもらってる手前、あんまり文句も言えないんだけど、もうちょっとリッチになるだけで大分使う人増えそうな感じがするだけに、すごくもったいない気がした。

需要があるならそのうちQiitaかどっかに上げるかもしれない。

2018-05-02

なんでGASScript Editorってあんな使いづらいの?

ちょっとまれたんで弄り始めたんですけど

あれじゃVBEと大差ないじゃないですか

みんなあれ使ってるの?

2017-06-29

「夢中」で書かれたVBA

退職者が「会社で何らかの『システム』を入れないから、これで作るしかない」といってVBAで作っていた。

一時は社内規定残業上限に達するほどに、「夢中」で作っていた。

が、退職後3ヶ月、あるマクロの書き出すデータに致命的な問題が判明し、私が一部、使用停止を宣言した。

基幹系へ投入するデータ特定条件で確実に狂うのである、それも何ヶ月にも渡って誰も気づかなかった。

当該マクロでのデータ処理を禁止し、1年と少しぐらい、現業部が手作業エクセルデータ作成していたと思う。

ろくに解説サイトも見ないでVBEコードをこねくり回して作っていたのだと思う。

しかすると、解説サイト書籍の内容が理解できなかったのではないか、とすら思う。

Dim da as String
da = "データ"
Dim after as String
after = "修正済"

'----------------------------------------------
With ThisWorkbook.Worksheets(after)
  .Cells(i, 1).Value = ThisWorkbook.Worksheets(da).Cells(i, 1).Value
  .Cells(i, 2).Value = ThisWorkbook.Worksheets(da).Cells(i, 2).Value
  .Cells(i, 3).Value = ThisWorkbook.Worksheets(da).Cells(i, 3).Value
  .Cells(i, 4).Value = ThisWorkbook.Worksheets(da).Cells(i, 4).Value
End with

シートをまたいで、ただ値をコピーして集計していく程度の内容であるが、Workbook/Worksheetの呼出理解できていないのだと思う。

また、変数はワークシート名を格納する程度にしか使っていない。

シートの見出しも「修正決定○○数」という、一体、何の数量なのか理解に苦しむ見出しである

使える制御構文はFor Nextだけらしく、Do WhileやFor Eachもなく、果てはLike構文すら見たことがない。

文字列の判定は全てInstr関数でやっている。

行番号をString型に格納している etc...

その人が退職して直ぐ後のミーティングで、自部署担当役員レジュメにこう書いていた

努力は夢中に勝てない」

退職者も「夢中」で書いていたのだろうか。

最終的には主に上長担当役員に嫌気して辞めていったのだが。

2017-03-08

できれば知りたくなかったショートカットキー

Alt+F11 : VBEを開く

2016-12-19

McAfee Endpoint Security とかいう極悪ウイルスについて

大学推奨のウイルス対策ソフトとしてインストールしたんだけどこいつウイルスなんじゃが

インストール後の再起動の後にFirefox破壊する(exeファイルが何か別のもの差し変わっている 16ビットアプリケーションがどうたら起動しない)

・再インストールしようとするとBSODで落ちる 気づいたらプログラム機能のところにFireFoxがない

・セーフモードだとインストーラが立ち上がるのでインストールしてしばらくは動くが、updater.exeが動くとBSODで落ちた挙句Firefox破壊

適当インストーラを立ち上げようとするとBSODで落ちる

タスクスケジューラが動くとBSODで落ちる

Mcafeeアンインストールしようとするとパスワードが求められる

大学vbeePO経由で行うアンインストールスクリプト動かしてもアンインストールされない

・腹が立ったのでサービスを停止しようとしたができない

このウイルス対策ソフト推奨にしてる大学滅べ。

2015-02-23

http://anond.hatelabo.jp/20150223114637

ちったぁ自分で調べろや。ろくなプログラマになれんぞ。

IsNumeric Function (Visual Basic)

IsNumeric returns True if the data type of Expression is Boolean, Byte, Decimal, Double, Integer, Long, SByte, Short, Single, UInteger, ULong, or UShort, or an Object that contains one of those numeric types. It also returns True if Expression is a Char or String that can be successfully converted to a number.

ここは普通のことをいっている。 IsNumeric が True を返すのは以下のとき

から問題があるのは Empty のほう。

VBE Glossary (Empty)

Empty

Indicates that no beginning value has been assigned to a Variant variable. An Empty variable is represented as 0 in a numeric context or a zero-length string ("") in a string context.

Empty は context にあわせて以下のように解釈される。

というわけで IsNumeric(Empty) は Empty が数値として解釈されて 0 になるので True を返す。

 
ログイン ユーザー登録
ようこそ ゲスト さん