VBAのコンパイルとコンパイルエラーと実行時エラーについて

覚え書きです
5
吉田拳/Excelで、経営は強くなる @sugoi_kaizen

コンパイルエラーというか、「コンパイル」の説明が死ぬほど難しいですね…私も具体的にはほとんど理解できてない。検索して出てくる説明を読んで理解できるものではない気がする。まあそもそもなんでaのキーを押したらaが入力できるのかすら分かってない。そういうものと割り切って使ってるから。

2022-09-14 04:11:31
踊るエクセル@VBEアドイン作ってVBEハック中・・・ @ExcelVBAer

@sugoi_kaizen 日本人がアメリカ人に作業を指示するには、 言葉の翻訳が必要になります。 日本語の指示書について、 日本語としておかしい所があると、 翻訳できません(①) 翻訳された指示書に沿って作業したら、 できない事が見つかる時も(②) ①の翻訳不能がコンパイルエラーです。 ②が実行時エラーです。

2022-09-14 10:23:33
吉田拳/Excelで、経営は強くなる @sugoi_kaizen

@ExcelVBAer ありがとうございます!なるほど… コンピューター用の言語が別途あるイメージですかね…

2022-09-14 12:42:41
踊るエクセル@VBEアドイン作ってVBEハック中・・・ @ExcelVBAer

@sugoi_kaizen ですです! コンピューター用の言葉が 別途あるイメージです💡

2022-09-14 14:35:42
fuji.t @celaeno4

@sugoi_kaizen コンパイル、雑に言うとコード(人間の言葉)をコンピュータがわかる言葉に翻訳することかな?と思います。なので、「「A」という。(MsgBox "A")」なら翻訳できますが「「A」とひす。(MsqPox "A")」と書いてしまうと「何言ってるんだ??」となって、エラーになる感じですね。

2022-09-14 06:50:30
吉田拳/Excelで、経営は強くなる @sugoi_kaizen

@celaeno4 ありがとうございます!コンピュータがわかる言葉って目に見える形でどこかに書かれてるものなのでしょうか…それだと難し過ぎるからVBAみたいに人間でも理解しやすい言語が生まれた…とか…

2022-09-14 12:44:09
fuji.t @celaeno4

@sugoi_kaizen コンピュータがわかる言葉は0,1で表されている機械語というやつですね。さすがにそれだと人間には無理なので機械語に対応するアセンブラが生まれ、さらにもっとわかりやすい高級言語(CとかVBとか)が生まれました。→

2022-09-14 20:33:09
fuji.t @celaeno4

@sugoi_kaizen VBAは逐次翻訳(インタープリタ←厳密には違うみたい)なのでわかりづらいですが、Cだとコンパイルして実行ファイル(exe)を作ってそれを実行するという形をとります。その実行ファイルも機械語で書かれていて、バイナリエディタという特殊なエディタで開くと機械語で書かれたものを見ることができます

2022-09-14 20:33:22
fuji.t @celaeno4

@sugoi_kaizen というか、あらゆるファイルは0, 1で書かれていますが、エクセルファイルであったりワードファイルであったりと人が使える形で見えるようになっています。

2022-09-14 20:33:47

コンパイルエラーと実行時エラーの違いは

吉田拳/Excelで、経営は強くなる @sugoi_kaizen

VBAのエラーの分類、大きく分けてこの2つ、ってことでいかがでしょうか… pic.twitter.com/SgdFX7pYop

2022-09-14 04:50:26
拡大
吉田拳/Excelで、経営は強くなる @sugoi_kaizen

サラッと書きましたけど、自分で言うのはお恥ずかしいですが拙著のExcel本が40万部まで伸びたのはこういう説明方法が要因の一つだったと思ってます。 いかに伝えるかの工夫を尽くす。 それが相手によっては「まどろっこしい」というレビューにもなるけど気にせず我が道を参ります。 twitter.com/sugoi_kaizen/s…

2022-09-14 13:25:10
Yasu @yasuhiro_

@sugoi_kaizen 正確には、打ち間違いは「構文エラー」だったと思います エラーの基本については、自分はこちらのページを参考にしました officetanaka.net/excel/vba/erro…

2022-09-14 07:31:37
吉田拳/Excelで、経営は強くなる @sugoi_kaizen

@yasuhiro_ 構文エラーや記述エラーと言われるものをコンパイルエラーに含めると分類がすっきりしたと思われました!

2022-09-14 12:41:35
Y @Music77Y

@sugoi_kaizen マイクロソフトのだと、ちょっと分類が違うようですが、わかりやすいので良いかと思います。 コード打った時に赤くなる「構文エラー」も入れても良いかもしれません。 docs.microsoft.com/ja-jp/dotnet/v…

2022-09-14 05:02:50
Y @Music77Y

@sugoi_kaizen 失礼しました。①に入ってました。分け方は2つでも3つでも構わないように思います。

2022-09-14 05:04:25
fuji.t @celaeno4

こんな感じで雑に考えてるかなー。 「本棚から『Excelの教科書』まってきて!」   …コンパイル…   お前は何を言ってるんだ?(コンパイルエラー) 「本棚から『Excelの教科書』持ってきて!」   …コンパイル…   わかった!   どこかなー(実行)   ねーじゃねーか!(実行時エラー) twitter.com/sugoi_kaizen/s…

2022-09-15 12:18:38
るいん@六等星の夜 @Liebeuinyan

まぁVBA関係なくプログラムのエラーは大別したらこの2つですな(・ω・) 【コンパイラ】(*>△<)<おい!書き方まちがってんぞ! 【ランタイム】(*>△<)<書き方は間違ってないけど上手く動かないぞ! twitter.com/sugoi_kaizen/s…

2022-09-14 08:21:34
和風スパゲティ @wafu_spaghetti

@sugoi_kaizen コンパイルエラーを「実行した途端に起きる」と説明するのはいいですね! 確かに現象をそのまま述べた方が、初学者にはわかりやすそうです!

2022-09-14 13:20:57
吉田拳/Excelで、経営は強くなる @sugoi_kaizen

@wafu_spaghetti わああとても嬉しいお墨付き頂けました、ありがとうございます!

2022-09-14 13:22:31
和風スパゲティ @wafu_spaghetti

@sugoi_kaizen 今まで原理に寄せて「書いた時点でエラー」「書き方がエラー」みたいな説明してたんですが、確かに初学者にとっては書いた時点でエラーが起きてるわけじゃないなって思いました(´∀`;)

2022-09-14 13:26:31