初めて質問します。
ビジュアルベーシックで標準モジュールで
ボタンのクリックイベントを実行したいのですが
どうやってプログラムすればいいんでしょうか?
今の会社に入っていきなりVBの仕事させられて
とっても困っています。

Private Sub Frm1Command1_Click()

Call Module1.Frm1Command1_Click

End Sub

こんな書き方じゃなくて、標準モジュール内で

Public Sub Command1_Click()

MsgBox "sine"

End Sub

って書いて実行できるようにしなくてはダメなんです。
どうすればいいんでしょうか?
もしかして無理なんでしょうか?

これ、上司の嫌がらせだったらイヤですね・・・。

A 回答 (1件)

別に無理な事ではなく当たり前の指示だと思われます。



要は標準モジュール内でボタンをクリックした場合の処理を記述し、
ボタンがクリックされたら標準モジュール内の関数を呼んであげればいいのです。

標準モジュールには、
Public Function gfunStd()
Call MsgBox("Called")
End Function
と記述し関数を作ります。

フォームのボタンクリックイベントでは、
Private Sub Command1_Click()
Call gfunStd()
End Sub
とすればいい訳です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QD7alt

ジャズベースの教則本にD7alt G7altのように7thコードにaltがついたコードがたびたび出てきますがこれはどのようなコードでしょうか?ご存知の方宜しくお願いします

Aベストアンサー

altはオルタードのことです.
コードとしては,単にD7です.

なんですが,アドリブのときには,オルタードスケールでアドリブを取ることが多い(あるいは,テーマのメロディー自体がオルタードスケールになっていることも)ので,ベースはフロントがどう演奏するかをよく聞いてうまく反応しなさい,てことです.

Dオルタードスケールというのは,具体的には
D E♭ F F♯ A♭ B♭ C D
というスケールなんですが,これは,つまり「裏コード」ってやつです.楽譜上はD7なんですけど,実際にはA♭7(あるいはE♭m7)で演奏します.
なんで,ベースラインも単純にD7のスケールではなくて,オルタードスケールの音を使ったウォーキングをします.あるいは完全にわりきって,コード自体がA♭7だと思ってベースラインをつけるのも可です.

ジャズでは,2-5-1の形になっているときの,2-5は,わざわざaltなんて書いてなくても,演奏者が勝手にaltにしてしまってもいいです.
それを,わざわざaltって書いてあるってことは,そこは絶対にオルタードの音にしてほしいっていう編曲者の意思の表れなんでしょうから尊重してあげましょう.
まあ,教則本なんでオルタードに変えてもよい7thすべてにaltって書いてある,ってことなのかもしれませんが.

altはオルタードのことです.
コードとしては,単にD7です.

なんですが,アドリブのときには,オルタードスケールでアドリブを取ることが多い(あるいは,テーマのメロディー自体がオルタードスケールになっていることも)ので,ベースはフロントがどう演奏するかをよく聞いてうまく反応しなさい,てことです.

Dオルタードスケールというのは,具体的には
D E♭ F F♯ A♭ B♭ C D
というスケールなんですが,これは,つまり「裏コード」ってやつです.楽譜上はD7なんですけど,実際にはA♭7(あるいはE♭...続きを読む

QSub ***( ) と Private Sub ***( ) の違い

初歩的な質問で申し訳ありませんが・・・

自分でコードを書いていても、イベントが発生したりした時の処理で、コードのウィンドウで上のドロップダウンリストで選択できる時の処理などは自動的に[Private Sub Command1_Click( )]などと出てくるのでそのまま使っています。自分で別途プロシージャーを作成する時は[Sub ****( )]としています。
ですがその違いを理解しないまま、自分で作成する時は[Private Sub]ではなくて[Sub]を使っています。

Sub ***( ) と Private Sub ***( ) の違いは何なんでしょうか?
どなたか説明頂けませんか?
よろしくお願いします。

Aベストアンサー

「Sub」の部分にカーソルを置いて[F1]を押せばヘルプが起動します。
「指定項目」のところに「Public」と「Private」の説明がありますよ。
省略して「Sub hogehoge()」とした場合は「Public」とみなされます。

Publicは「すべてのモジュールから呼び出せるプロシージャ」ということになります。
Privateとすると「同じモジュールの中からしか呼び出せないプロシージャ」となります。

もしExcelをお持ちでしたらExcelのVBEで標準モジュールを追加し、「Sub Test1()」と「Private Sub Test2()」を作成してみてください。
そしてExcelの[ツール]-[マクロ]-[マクロ(Alt+F8)]でマクロ実行のダイアログを表示させてみるとわかります。
ここには実行できるプロシージャの一覧が表示されますが、Test1は表示されているけれどTest2は表示されません。
Test1はPublicで、Test2はPrivateだからです。

QLenovo G570 4334D7J

Lenovo G570 4334D7J

とAspire V3 V3-571-H54D/Kの価格差は1万円ですが、ネットのみ使用で複数のサイト(動画も)開きながらネットするのにどちらも速度は差はないでしょうか?1万円でどういった性能の差があるか教えてほしいです。メーカーは今レノボが世界1位なので印象は良いのですが

Aベストアンサー

G570の去年の型をもっています。今でももちろん現役。
そのG570は今年のverみたいですね。

G570は第三世代のインテルCPUを採用しているので高性能です。
省電力、動画再生、3D処理に特に強いのが特徴。
また、純粋な処理能力ももちろん向上していますから、
オフィスやフォトショップなんかもサクサク動きますよ。

ニコニコ動画の最高画質でもヌルヌル動きます。
もちろんyoutubeの最高画質(FHD)でもヌルヌルです。
自分で用意したFHDの動画ファイルでもヌルヌル動きますね。

動画のエンコード(動画編集、変換)にも強く、
Intel Quick Sync Videoという独自エンコードが出来ます。
例えば、DVD一本の変換でも20分や30分で変換が完了する優れものです。
(設定した画質にはよりますが、高画質でもかなり早い)

これらは全部、旧世代CPUの違いで生まれるものです。
旧世代CPUと比べたものなので、
検討されてる2機種で生まれるものではありません。



で、どっちのPCがいいかの話ですが、どっちも十分高性能です。
タブブラウザで複数表示したところで、
どっちのPCも高スペックですからカタつきませんよ。

Intel Quick Sync Videoのエンコードもどっちもできます。
が、Aspire V3 V3-571-H54D/Kのほうがエンコードは早いです。
Ivy Bridgeという第三世代のなかでも最新のCPUですからね。

処理能力という点でもG570と違いは出てきますが、
3D作成ソフトでも使わない限り、
あるいは3Dゲームでもしないかぎり明確な差は体感できません。
3DにおいてもG570よりAspire V3 V3-571-H54D/Kのほうが優れています。

というか、Lenovo G570 4334D7Jには、
Aspire V3 V3-571-H54D/Kに勝てる要素が見当たりません。

Lenovo G570 4334D7Jにはなくて、
Aspire V3 V3-571-H54D/Kにはある機能が山盛りです。

例えば無線LANの規格、Bluetoothの有無、初期搭載メモリ量、
グラフィックチップの型、ビデオメモリの量、あと勿論CPU。
これ全部、Aspire V3 V3-571-H54D/Kの方が優れてるんですよ。

唯一の欠点は、高性能な分、バッテリーがあまりもたないことです。
G570よりも1時間も短い。家で使うなら問題はないので使い方次第ですが。



Aspire V3 V3-571-H54D/Kの一番魅力な点は、やはりCPUです。
http://www.cpubenchmark.net/high_end_cpus.html

これによれば、Core i5 3210Mのスコアが約4000。
G570のCore i3 2350Mは約3000ですので、その差は1000もあります。

これがエンコードや処理能力に影響してくるわけですが、
1万円の差でそこまで開かれると、やっぱり悩んでしまいますね。



私はAspire V3 V3-571-H54D/Kの実機を操作したことが無いので、
ファンの音がどれくらいなのか、ということが不明です。
ですが、G570はもってます。i3採用ですから間違いなく静かですよ。

私のG570もi3なんですが、夏場でもCPUファンから冷風がでます。
そしてファンの音もしない。ほとんどまったくしないです。
さすがに3Dゲームとかしてたらブォーブォーとファンが回りますけどね。

G570でもi5版があるんですが、そっちは静かではなかったです。
Aspire V3 V3-571-H54D/Kはどうなのかわかりませんが、
やはり処理能力が上がれば温度は上がりやすいはずなので、
同世代のi3と比べれば、やはりファンはうるさくなりやすいはずです。
(とはいっても、それでも昔と比べれば十分静音なはずですが)



ということで、あなたの求める条件は両方ともそろえているわけですが、
参考になりましたでしょうか。あとは付加価値や、今後の事を考えましょう。
ずっとブラウジングや動画鑑賞だけでPCを使っていくつもりなら、
G570で十分おつりが来る性能ですよ。

私はG570でwebサイトを作成したりしているので、
メモリを自分で増設して8GBにしました。
去年4000円で買いましたが、今年はさらに安く、3000円です。恐ろしい!
フォトショップとdreamweaverを同時起動してもサクサクですよ。

いや、恐ろしい時代になりましたね。こんな性能が3万とか4万で買えるとか。
私は自作PC派だったんですが、自作するのがバカらしくなってきました。
デスクトップPCを自作することは、もう二度とないかもしれません。

さらにいえば、私はフレッツの開通で、G570を無料で貰いました。
今でも探せばいくらでも出てくるはずですよ。当時G570は4万でした。

もしJCOMとかYAHOOBBとか使ってるなら、
フレッツの回線を開通することで無料で4万くらいのPCを
タダでくれる業者が沢山あるので探してみるといいでしょう。
場合によっては、Aspire V3 V3-571-H54D/Kが無料という所もあるでしょう。

G570の去年の型をもっています。今でももちろん現役。
そのG570は今年のverみたいですね。

G570は第三世代のインテルCPUを採用しているので高性能です。
省電力、動画再生、3D処理に特に強いのが特徴。
また、純粋な処理能力ももちろん向上していますから、
オフィスやフォトショップなんかもサクサク動きますよ。

ニコニコ動画の最高画質でもヌルヌル動きます。
もちろんyoutubeの最高画質(FHD)でもヌルヌルです。
自分で用意したFHDの動画ファイルでもヌルヌル動きますね。

動画のエンコード(動画編集、変...続きを読む

QSubとEnd Subについて

VBScriptのSubとEnd Subについて教えて下さい。

Dim LogonID
Dim Password
Dim URL
Dim objIE
Dim objINPUT
Dim BodyText
Dim AriNashi

LogonID = "XXXXXXXX"
Password = "XXXXXXXXX"
URL = "https://login.yahoo.co.jp/config/login?.src=www&.done=http://www.ya..."

下記のようなプログラムはうまくいくのですがSubで囲むと何故か動作しなくなってしまいます。
使い方が間違っているのでしょうか?


Set objIE = WScript.CreateObject("InternetExplorer.Application")
objIE.Navigate URL
objIE.Visible = True

Do Until objIE.Busy = False
WScript.sleep(250)
Loop

If objIE.document.URL = URL Then
BodyText = objIE.document.body.innerTEXT
AriNashi = InStr(1, BodyText, "Yahoo")
If AriNashi > 0 Then
Set objINPUT = objIE.document.getElementsByTagName("input")
objINPUT(0).value = LoginID
objINPUT(1).value = Password
objINPUT(2).Click
Else
msgbox "NO"
End If
Else
WScript.Echo " ダ メ" & Err.Description
End If
Set objIE = Nothing

VBScriptのSubとEnd Subについて教えて下さい。

Dim LogonID
Dim Password
Dim URL
Dim objIE
Dim objINPUT
Dim BodyText
Dim AriNashi

LogonID = "XXXXXXXX"
Password = "XXXXXXXXX"
URL = "https://login.yahoo.co.jp/config/login?.src=www&.done=http://www.ya..."

下記のようなプログラムはうまくいくのですがSubで囲むと何故か動作しなくなってしまいます。
使い方が間違っているのでしょうか?


Set objIE = WScript.CreateObject("InternetExplorer.Application")
objIE.Navigate ...続きを読む

Aベストアンサー

Subで囲むとプロシージャとなります。
プロシージャは他から呼び出されない限り、勝手に動作はしません。

Sub Hoge
'実体
End Sub

と書いたなら、プロシージャの外で
Call Hoge()
のようにプロシージャを呼び出してあげてください。

QウクレレのD7のコード

お世話になります。
ウクレレのD7ですが、曲本に載っていた2フレットの2弦・4弦を
押さえる方法で弾いていたのですが
NHKのウクレレ講座では2フレットをセーハ(合ってるかな?)して
3フレット1弦を押さえると言ってました。
どちらが合ってるんでしょうか?

Aベストアンサー

どちらも正しいです。
コードネームは、押さえ方や押さえる場所を指定しているのではなく、そのときに弾いた和音の構成音を示しています。D7は、D・F#・A・C(レ・ファ#・ラ・ド)の四つの音からできている和音という意味なので、ウクレレでも、ギターでも、キーボードでもD7である以上は同じ響きになります。
ウクレレのD7は、2フレットセーハで第一弦3フレットなら、第四弦からラ・レ・ファ#・ドとD7コードに必要な四つの音がすべて含まれ、完全な押さえ方と言えます。
一方、第一、第三弦が開放になる押さえ方は、ラ・ド・ファ#・ラとなり、D7なのにルートのD(レ)が欠落し、替わりにラが2ヶあることになり、不完全な押さえ方と言えます。
しかし、バンドでギターやベースが入っていれば、それらの楽器が「レ」を必ず弾いているので、必ずしもウクレレでレを弾く必要は無く、カンタンな押さえ方のほうが良いのです。
それから、もっとも大事なことですが、ハワイのフラダンスの伴奏として弾かれる時は、必ずカンタンな方のD7でなければなりません。
これは、現地の人が習慣的に押さえるフォームであり、Dが欠落した響
きでないと、フラミュージックの感じになりません。
講師は、フラミュージックの専門家ではないので、そのようなことは知らずにレクチャしています。
また、セーハのD7は、セーハの指が、人差し指と中指の二種類があります。これは前後のコードによって、合理的な指を使うためです。押さえる場所は同じでも押さえる指は臨機応変に色々となります。
NHKの講座は、初心者にコンサートサイズのウクレレを勧めるなどの発言があったり、初日から、いきなりBbが出てきたりと、常識外のことが多いので、すべてを信用しないほうが良いです。講師はギターからの転向組で、あまりにもウクレレに対する見識が低すぎ不勉強です。

どちらも正しいです。
コードネームは、押さえ方や押さえる場所を指定しているのではなく、そのときに弾いた和音の構成音を示しています。D7は、D・F#・A・C(レ・ファ#・ラ・ド)の四つの音からできている和音という意味なので、ウクレレでも、ギターでも、キーボードでもD7である以上は同じ響きになります。
ウクレレのD7は、2フレットセーハで第一弦3フレットなら、第四弦からラ・レ・ファ#・ドとD7コードに必要な四つの音がすべて含まれ、完全な押さえ方と言えます。
一方、第一、第三弦...続きを読む

Q標準モジュールとクラスモジュールについて

標準モジュールでType型を使用しています。
この標準モジュールをクラスモジュールに置き換えて、Formから呼び出すCOMに作り変えたいのですが、引数ってどう設定したらよいのでしょうか?
今は標準モジュールなので、こんな感じで呼んでいるのですが・・・

例)
Private Sub Command1_Click()

Dim in_b As IN_PARA
Dim out_b As OUT_PARA

in_b.Name = "山本太郎"
in_b.Seikaku = "優しい"
in_b.Syumi = "釣り"
in_b.Tokugi = "野球"

Aベストアンサー

VBのCOMでは、Typeで宣言したものは公開できません。
公開可能なものは、Variantに格納できるもののみです。

対応としては、それぞれの項目を別々のプロパティにするしかないです。

QD7で高温期突入

いつも参考にさせていただいています。

初めて質問させていただきます。
現在、本格的に不妊治療をはじめて約7ヶ月になります。
最初はタイミングで様子を見てたんですが、年齢のこともあり(現在30代後半)
先生にAIHを勧められ、前々回周期に初めてのAIHをしましたが、残念な結果でした。
前回は病院を休んだので、薬も何も飲まずで40日周期でした。

今回、2ヶ月ぶりにクロミッド1錠を生理5日目から5日間服用したんですが、
生理開始には低温期に入り、D6でガクッと下がり、D7からだんだん体温が上がり
現在D12で高温期の体温になっております。

今日、卵胞チェックに行った時に、その話をし、チェックしてもらったら
「もう排卵してるかもやねー」って言われてしまいました。
今までクロミッドを飲んでも、早くても排卵はD15でした。
月曜か火曜日もう1回来てくださいと言われれ予約してきたものの
こんなに早くに排卵というのがありえるのか、体がどこかおかしいのか少し不安です。

こういう症状になった方がいれば、経験談とかを教えていただければ幸いです。
今回の基礎体温も入力しておきます。
普段は低温期が36.2~36.4で、高温期が36.6~36.8くらいです。

D1  36.35
D2  36.29
D3  36.39
D4  36.34
D5  36.38  クロミッド服用開始
D6  36.11
D7  36.51
D8  36.53
D9  36.59  クロミッド服用終了
D10 36.72
D11 36.72
D12 36.85

よろしくお願いします。

いつも参考にさせていただいています。

初めて質問させていただきます。
現在、本格的に不妊治療をはじめて約7ヶ月になります。
最初はタイミングで様子を見てたんですが、年齢のこともあり(現在30代後半)
先生にAIHを勧められ、前々回周期に初めてのAIHをしましたが、残念な結果でした。
前回は病院を休んだので、薬も何も飲まずで40日周期でした。

今回、2ヶ月ぶりにクロミッド1錠を生理5日目から5日間服用したんですが、
生理開始には低温期に入り、D6でガクッと下がり、D7からだんだん体温が...続きを読む

Aベストアンサー

こんばんは。38歳の女性です。
私は一度だけ、普段よりも1週間早く排卵したことがありました。
その分、生理も1週間早く来ました。
1度きりのことなので、特に病気は疑いませんでした。
無排卵月経と思われる症状も、一度だけありました。
基礎体温がガッタガタで生理がなかなか来なくて、1週間過ぎた頃に、
黒い少量の出血が、かさぶたのような状態で出てきました。
3日間で終わって、次の周期は普通に来ました。
その後妊娠、出産して、二児の母です。

治療を意識しすぎて、あるいは、夏が終わってからの気温の乱高下で、
リズムが狂ってしまっただけだと思いますよ^^
過去のデータと照らし合わせて、分析することも必要ですが、
あまり一喜一憂しすぎると、これからが続かなくなります。
私も病院へ通って、子供を授かりました。
なかなか子宝に恵まれずに焦る気持ち、よく分かります。

今回のことは、そういうこともある、程度で良いと思います。
実際、先生も特に異常を感じている様子ではないのですよね?
チャンスはまた来ますから、次にファイトです!

QPrivate Subについて

VB初心者ですが質問させていただきます。
現在
Private Sub CommandButton1_Click()
で呼び出されている処理を、
コマンドラインからstart~.exeと入力して呼び出される(実行される)ようにするにはPrivate Subにてどのように記載してexeファイルを作成すればよいでしょうか??

何分初心者な者ですので概念に間違いがありましたら申し訳ございません。

よろしくお願いいたします。

Aベストアンサー

>Sub Main()
>Call Command1_Click
>End Sub
>とか出来なかったっけ?
できるはずがない。
Privateの範囲を考えればわかるはず

Public Sub Command1_Click()
にして
sub min側で
Call Form1.Command1_Click
呼び出せば動かないことはないけどイレギュラー的な
使い方すぎる。
それ考えれば
Command1_Clickイベント内をサブルーチン(関数化)して
それをsub mainとCommand1_Clickイベントから
呼び出して使うのが本来でしょう。

QDAHON 06 ROO D7について

2006年モデルのROO D7について質問があります。

先日通販で「06 ROO D7」を購入し納車したのですが、アキボウさんの
ホームページに掲載されている2006年モデルのものと比べると、
ハンドルポストの角度が違っていました。
(HPにある画像ではポストは地面に対して垂直になっていますが、
 購入したものは少し手前に倒れている感じです。)

また、ROOはホームページに掲載されているものはハンドルの高さ調整が
出来ないタイプだったのですが、購入したものは高さ調整が出来るものと
なっています。

上記に関しては途中で仕様の変更があったのでしょうか?
(販売店が間違えて05モデルを発送したのでしょうか?)


また、タイヤの空気入れ方式は英式のものが付いていましたが
空気圧の調整はどのようにして行うのでしょうか?


回答のほどよろしくお願い致します。

Aベストアンサー

ステムの角度の問題は、良くあることですので、気にしないことです。
仕様書にステムのメーカー名や型番が詳細に書かれていた分けではないでしょう。

英式バルブで、空気圧の細かな調整は出来ないと考えてください。
入れるときにゲージ付きの物で、加圧していって、目的の空気圧に達したら、加圧をやめる。
入れすぎたら、少し多めに抜いて、もう一度加圧して適正は圧力になるまで入れると言うことしかありません。
それが、英式のバルブってもんです。
英式バルブに細かな空気圧の調整を期待してはいけません。
米式や仏式であれば、そういったことが比較的簡単にできるようになっています。
こればかりは、その構造上の問題ですので、仕方ないことです。

QVBのフォームモジュールと標準モジュールの使い分け

VBのフォームモジュールと標準モジュールの使い分けが今一つわかっていません。
フォームモジュールとは、フォーム(画面)上で起こったイベント(例えば、ボタンをクリックした時とか、ユーザーが行を選択したりだとか)の処理を、記述するところと解釈しています。
標準モジュールは、フォームが2つ以上あって、その2つが共通する処理(関数)などを、記述したり、フォームが1つでも、同じ処理を繰り返す場合、その処理を標準モジュールに書いたり・・・・という解釈をしています。
あってますでしょうか?

フォームが一つしかない場合、もしくは2つあっても、あまり共通する処理がない場合、なんかは標準モジュールはあまり使わないのでしょうか?
それとも、フォームが1つとかでも、今後のメンテの事など考慮して、標準モジュールを作ってそこにグローバル変数なんかで処理を書いた方がよいのでしょうか?
どなたか、教えてくださいませんか?
いろいろBBSなどで見てみるんですが、いろいろ書いてあって、どれが理想か
わかりません。よろしくお願いいたします。

Aベストアンサー

>標準モジュールは、フォームが2つ以上あって、その2つが共通する処理(関数)などを、記述したり
で良いと思いますよ。
逆に
>フォームが1つでも、同じ処理を繰り返す場合
は、フォームモジュールの中に関数を作ってしまうので良いのでは?

参考になるかわかりませんが、私はDBとの接続や、起動時の全フォームのロード、定数やプロジェクトレベルでのグローバル変数の宣言等に使用しています。
そういえばMain関数は標準モジュールにしか書けませんでした…っけ?
メッセージボックスを表示する際の関数を自分で定数とMsgBox()を組み合わせて使い勝手の良い物にする…というのもよくやります。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング