• ベストアンサー

VBの基本的な質問ですが・・・

演算子についてです。 たまにコロンの後にイコール(:=)が付いたサンプルコードを見ることがあるのですが、どういう意味ですか? ただの代入とは違うのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

これは名前付き引数に対する代入を意味します Sub Macro1( param1 as inetger, param2 as String)   MsgBox CStr(param1) & " " & param2 End Sub といった定義のプロシージャなどがあった場合 呼び出すのに Macro1 30, "Hello" Macro1 para2:="Hello", param1 := 25 Macro1 param1 := 35, param2:= "Bye" といった記述ができます := を使うと 引数の順序を入れ替えたり出来ます ... あまりやらないですけど また Optionalが付いている場合など必要なパラメータのみの指定が可能です Sub Macro2( optional param1 as inetger = -1, optional param2 as String = "test")   MsgBox CStr(param1) & " " & param2 End Sub といった具合ですと Macro2 param1:= 30 macro2 param2:= "こんにちは" といった具合です

sineminna
質問者

お礼

redfox63さんありがとうございます。 大変よく理解できました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

VBで「名前つき引数」でしょう。普通は引数はカンマで区切り記述しその間に指定します。 その何番目かの位置で、引数の意味を了解しあっているのですが、名前でも記述できるようになっており、その際名前+コロン+イコール 引数値で指定する約束です。引数が多い場合などで、1つしか指定しないで残りはデフォールト値の場合、間違えないようにカンマの数を並べる手間が省けて、見るほうも一見して判りやすい。 WEBで「名前付き引数」で紹介すれば沢山記事が出る。 http://www.relief.jp/itnote/archives/001014.php http://msdn.microsoft.com/ja-jp/library/51wfzyw0.aspx http://www.isisaka.com/blog/archives/2008/05/post_521.html 名前は使う時点ではそのソフトや自作で決まっている。

sineminna
質問者

お礼

imogasiさんどうもありがとうございました。

関連するQ&A

  • プログラミングで代入演算子ってイコールのことですか

    プログラミングで代入演算子ってイコールのことですか?= 複合代入演算子とかありますが とりあえず、代入演算子というのは = のことですか?これだけのことですか?

  • phpでこのイコールは代入演算子ですか? <l

    phpでこのイコールは代入演算子ですか? <link rel="stylesheet" type="text/css" href="stylesheet.css"> ↑このイコールです link relにstylesheetを代入するという意味ですか? ↓他にもたくさんありますが、このイコールは代入演算子なんですか? <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Progate</title> <link rel="stylesheet" type="text/css" href="stylesheet.css"> </head> <body>

    • ベストアンサー
    • PHP
  • エクセルでつかう=イコールは代入演算子ですか?

    エクセルでつかう=イコールは代入演算子ですか?

  • 文字を整数として扱う場合の演算について質問

    javaの参考書に、文字を整数として扱う場合の演算についての解説があり、疑問点があったので質問します。 質問1:何故char型の変数は、キャストしなくてもint型のリテラルを代入することができるのか?      例えば、 以下の演算はキャストしなくてもこのまま代入できます。 char ch='a'; ch=98; でも、以下の演算はキャストしていないのでエラーになります。      char ch='a'; ch=ch+1; これは何故ですか?参考書に記載されていた理由として、「byte,char,short、 これ等の型の変数や値を使って計算すると、それ等は一度intに直して計算されるから」というような趣旨の事が書いてありました。 つまり、char型の変数には、キャストしない限りint型の数値を代入できないということですよね? でも前者のソースコードは、chはchar型であるにもかかわらず、int型のリテラル98を代入できています。 これは何故ですか? 質問2:javaの参考書に、インクリメント・デクリメント演算子と複合代入演算子は、型を保存するという解説がありました。これはどういう意味ですか? 僕の仮説では、例えば、      char ch='a';      ch+=5; であれば、5は、char型のまま代入されるということでしょうか?

    • ベストアンサー
    • Java
  • 数学の基本概念について

    数という概念やイコールや四則演算の定義は 数学のどの分野で為されているのでしょうか? 回答よろしくお願いします。

  • VBの文法について質問です。

    Visual Basicのコードの文法がよく分かりません。 ネットや購入したテキストのサンプルコードを比較しても法則性のようなものがまったく見えてきません。 例えば Integer.Parse(Textbox.text) などの『.』での繋ぎにはどんな意味があるのでしょうか? 上のコードでは「型.関数.(変数)」といった感じですが e.Data.GetDataPresent(DataFormats.FileDrop) や Dim stbFiles As New System.Text.StringBuilder() での『e.』や『System.』の『.』の意味がよく分かりません。 おそらくVBに精通している方からすると 的外れな質問に見えるかもしれませんが VBにおける文法の法則性について教えて下さい。

  • 数学演算のサンプルコード集のあるサイトを探しています(VB6)

    VB6で数学演算のソースコードのサンプル集を探しています。 例えば今回は3次元のベクトルをX,Y,Z軸周りに任意の角度だけ回転する行列をプログラムしたいので、アフィン変換のサンプルなんかないかと探しています。いいサイトがあれば教えていただけませんでしょうか。 よろしくお願いします。

  • コピー代入演算子と代入演算子は同じ意味なんですか?

    コピー代入演算子(copy substitution operator)は代入演算子( substitution operator)同じ意味なんですか?

  • サルでもわかる 代入演算子 PHP

    只今、PHPの講義を受講しています。 しかし、私は数学の頭でしかなく、「代入演算子」の理解ができません。 ”なぜ、イコールに違う数字を使っちゃうの?”と、 脳みそに”?”だらけです。 講師もあまり深く突っ込んでもらわずに 「こういう物」と、覚えちゃってください。などと、言います。 私としては、理屈が成り立っていないのに、覚えられる訳がないのです。と、 少し立腹ぎみなのですが、ここは抑えて自分で解決しようと思ったのですが、 やはり、理解できません。 ちなみに、過去に他のプログラム言語を学んだことはありません。 どうか、この数学あたまに代入演算子を理解させる方法をご伝授ください。

    • ベストアンサー
    • PHP
  • 「::演算子」の読み方を教えてください。

    「::演算子」の読み方を教えてください。 「アロー演算子」のように、この演算子にも呼称があると思うのですが、 正しい読み方は、何と呼べばよいのでしょうか? 一応、「コロン2個演算子」とかで、検索してみたのですが、 全くヒットしませんでした…。

    • ベストアンサー
    • PHP