くだすれVB6.0以前(超初心者向け)
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/12/08(金) 19:36:45他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
VB使いが優しくコメントを返しますが、
お礼はVBの布教はしなくてよいので、初心者の救済をお願いします。
0552デフォルトの名無しさん
2007/08/28(火) 12:02:52VB5.0 + ActiveReport1.5で帳票を印刷していました。
環境はXPです。
去年SP2に上げたところ、
エラーログが出るようになりました。
ErrCode :VB-2950
ErrMessage:予約済みエラー
SP2では対応できない と考えるべきでしょうか?
それとも
参照箇所を変えることで対応できるのでしょうか?
回答お願いします。
0553デフォルトの名無しさん
2007/08/28(火) 13:23:28こんなとこで聞くよりグレープシティに聞いたほうが早くね?
0554デフォルトの名無しさん
2007/08/28(火) 15:38:35異常終了(MSに報告する、しないの画面)が出るんだけどw
100発100中ですww
0555デフォルトの名無しさん
2007/08/28(火) 18:01:030556デフォルトの名無しさん
2007/08/28(火) 19:13:58エラーメッセージは?dllとかのエラーかな?
0557デフォルトの名無しさん
2007/08/29(水) 13:17:02そんなんいくらでも原因がボロボロでてくる情報だ罠
グチじゃないならもっと詳細書くといい
0558デフォルトの名無しさん
2007/08/29(水) 17:13:09レスありがとうございます。
会社で再インストールするように言われて
言われた通りにしたら直りました。
現象も出ないので原因ももう分かりませんww
0559デフォルトの名無しさん
2007/08/29(水) 21:11:44GOTOを使っちゃダメ、ってのはもはや「信仰」でしかないですよね?
ReturnやBreakを頻発させず、進行がすっきりすると判断される場合は、
躊躇なく使っていいものですよね?
0560デフォルトの名無しさん
2007/08/29(水) 21:16:14結局影の薄い存在となったことには変わりないな。
0561デフォルトの名無しさん
2007/08/29(水) 21:37:37いまどきアホ?って言われるな 精進しなされ
0562デフォルトの名無しさん
2007/08/29(水) 21:47:40例えば、Ifで条件分けをする場合など、その都度インデント入れますよね。
もし、その条件の値が最初から分かってる場合は、プロシージャの最初の方で
条件に合致しない場合を、プロシージャ最後の終了処理に直接飛ばすようにすると、
メインの処理部分は、ひとつインデント無しで書きやすく、見やすくなると思うんです。
条件が多く、WithやFor、Doなども必要な場合は、より効果的だと思うのです。
--------------------
If HOGE = False Then
Goto ENDP
End If
メイン処理
ENDP:
終了処理
--------------------
0563デフォルトの名無しさん
2007/08/29(水) 21:58:34自分の頭で物事判断できない教条主義的な馬鹿は別として。
0564デフォルトの名無しさん
2007/08/30(木) 22:57:31そいういう関数化が必要なのは関数にしてしまうのがいい
昔っからのGOTO禁止もあるけど、VB6がReturn文を陰ながらサポートしてることも忘れないでください
0565デフォルトの名無しさん
2007/08/30(木) 23:03:24GOTO文の本当の怖さは、無条件にジャンプできることじゃない
ジャンプした先で「なぜジャンプしてきたのか?」が曖昧になるからだ
0566デフォルトの名無しさん
2007/08/30(木) 23:29:35そんなもの通常は知る必要はない。
gotoを忌避すべき理由はそんな理由ではなくもっと単純なことだ。
実際に自分でスパゲティコード書いてみれば体感できるよ。
要するにコードを上から下に読めないことが端的に「ヒトにとって」問題なんだよ。
逆に言えば、goto使ってもコードを「上から下に読める」ことが維持されていれば
普通はそんなに可読性は破壊されない。
0567デフォルトの名無しさん
2007/08/30(木) 23:34:51それはgoto固有の問題じゃないよな?
0568デフォルトの名無しさん
2007/08/30(木) 23:39:00何をいってんだろうね
じゃあ逆に聞くが、goto以外で「下から上に戻る」コードを
書く方法を教えてくれよまったくw
ループとか寝ぼけたこと言うなよ
0569デフォルトの名無しさん
2007/08/31(金) 07:36:25Procedure line3
end
Procedure line2
end
Procedure line1
end
Procedure foo
call line1
call line2
call line3
end
みたいな?
0570559
2007/08/31(金) 11:56:57関数にして外に出すよりも、GOTOでそのプロシージャの末尾に置いておく方が、
可読性は破壊されないどころか、向上するのではないかと考えています。
その都度関数を作っていると、引数や戻り値の仕様もそのたびに
考えなくてはならない場合も多く、時間的にもGOTOを選んだ方がいい場合が、
必ずあるように思います。
↓こうなるよりは、>>562の方がよいと思うのですが・・・。
--------------------
If HOGE = False Then
Call 終了処理関数
Exit Sub
End If
メイン処理
Call 終了処理関数
--------------------
Function 終了処理関数()
終了処理
End Function
--------------------
スパゲティと教条主義以外に、GOTOを忌避する理由って、ありますか?
0571デフォルトの名無しさん
2007/08/31(金) 12:15:45そんなコーディングしか思いつかないのならいいんじゃない?
センスがいいとか悪いとか誰にも見せなきゃこまらないっしょ
0572デフォルトの名無しさん
2007/08/31(金) 12:37:06一つの関数しか呼ばれない処理をやたらと関数に括り出したくない、
という発想は必ずしも間違ってないと思う。(ただし、状況的に不適切な場合はあるよ)
ただ、570のような処理は別にgoto使わずに、かつ各場合分けに共通の処理を
関数に括り出さずに書けるだろう。
0573デフォルトの名無しさん
2007/08/31(金) 12:50:44gotoに賛成も反対する気も無いが、気になる
0574デフォルトの名無しさん
2007/08/31(金) 13:31:50こういうことでしょうか?
--------------------
If HOGE = True Then
メイン処理
End If
終了処理
--------------------
メイン処理が長くなり、WithやForなどでさらにインデントが挟まるような場合は、
>>562のような書き方の方が、見通しがいいと思いました。
例えが悪かったですね。
コーディングしている最中に、「ああ、ここでGOTO使えれば早いのになぁ」と
思う場面が出てくることがあるんですが、いざこういう話をするときに思い出せないです。
>>573
GOTO絶対不可な先輩も、On Errorのときだけは使ってますね
0575デフォルトの名無しさん
2007/08/31(金) 13:45:14On Error Gotoは意味合いが違うから除外
0576デフォルトの名無しさん
2007/08/31(金) 13:55:56On Error Goto Label
Error 513
On Error Goto 0
0577デフォルトの名無しさん
2007/08/31(金) 13:58:58gotoの動作としてはまったくかわらんよ
ローカル内で考えると、goto HANDLEがErr.Raiseって感じだし
やっぱり、gotoを絶対使わないという信条の人なら
On Error Resume Nextを使う必要があるんじゃないのかね
0578デフォルトの名無しさん
2007/08/31(金) 13:59:400579デフォルトの名無しさん
2007/08/31(金) 15:04:06は>>569見たいな状況
「上から下に読める」なんてドンだけフローチャートの世代なんだ
>>570(>>559)
>>564がぬるぽ
>>574
>>565がぬるぽみたいだ
「エラーでジャンプ」し尚且つErrオブジェクトで意味も参照できるからいいんじゃないかと
これは If cond Then A Else B 文で「condで A または B にジャンプ」という意味があるのと同じ
したがって >>576 はちょっとナンセンスな切り返しだ
ただVB6の言語仕様が昔ッからのを引きずっているのは確かで、
その状況で「GOTOを禁止する」ことが果たして万全なのかどうかは俺にはわからない
本嫁
0580デフォルトの名無しさん
2007/08/31(金) 15:07:150581デフォルトの名無しさん
2007/08/31(金) 19:04:45だから、教条主義的にgotoを禁止するのは馬鹿げてるけど
大概の処理はgoto無しで、かつgoto使った場合より可読的に書けるよ。
それと、なんか君は「コードを書く時」の目線ばかりを優先しているように見えるけど、
(どうしたらよりコンパクトに書けるか、みたいな)余計なお世話だろうがよくない兆候だよ。
「コードを読む時」目線で考えるべきだ。
つまり、他人にとって、あるいは一年後の自分にとって「読んで理解しやすいかどうか」を
(gotoならgotoの使用の是非の)判断の指針にすべきだ。
>>579
上から下に読み下せないコードはヒトにとって読みにくい、
という経験的事実がフローチャートとどう関係するんだろうねw
構造化プログラミングすら理解してないなら黙ってればいいのに。
ループ、分岐、関数、といった「構造」に抽象化するのは上から下に読み下すためだろう。
ループも分岐も、ループや分岐という概念を知らずそれを「ループ」や「分岐」として
認識できなければ、ただのgotoだ。
というか、日本語書けよ馬鹿。
0582559
2007/08/31(金) 20:25:54を意識しているつもりではいるのですが。
(GOTO嫌いな人にとって感情的に読む気が失せる・・・のは無視します)
「大概の処理をGOTOを使った場合より可読的に書く」
イメージがなかなか沸かないです・・・。
0583デフォルトの名無しさん
2007/09/01(土) 10:53:51飛び元と飛び先のロジックの関係を考慮しなくちゃならなくなるケースを考えてみるとか。
複数の場所から一つのラベルにGotoが貼られているとする。
仕様変更でラベル以降のロジックを修正しなきゃならなくたった場合、呼び元の全ての
ロジックへの影響を考慮しなくちゃいけない、とか。
0584デフォルトの名無しさん
2007/09/01(土) 13:28:47同じことを考慮しなくちゃならないと思うけど
0585デフォルトの名無しさん
2007/09/01(土) 17:41:41まあ本当に構造化プログラミングを理解してる人間なんていないと思うんだが
もしかして、構造化=ソースの構造化、と間違えてる?
0586デフォルトの名無しさん
2007/09/01(土) 21:56:28実際にプレイする小中学生とかが
ターンとかロールなんて言われても何の意味だかわからんだろ。
やたらと横文字使えばいいってもんじゃねーぜ。
だから、ゲーム作る奴はバカって言われるんだよ。
もう一度言ってあげようか?
バ・カだよ。バ・カ
0587デフォルトの名無しさん
2007/09/01(土) 22:27:16vb関係ないし
日本語でおk
ってか人間でおk
0588デフォルトの名無しさん
2007/09/01(土) 22:52:040589デフォルトの名無しさん
2007/09/02(日) 05:10:05英単語覚えたな
昔のADVはコマンドをすべて、自分で考えて打ち込まなければならなかったしかも英語でw
もちろん小学生の頭じゃほとんど理解不能でクリアしたのはずっと後だったけど
0590デフォルトの名無しさん
2007/09/03(月) 09:18:24このIEのユーザーエージェントを変更する方法は
ありますでしょうか?
0591デフォルトの名無しさん
2007/09/03(月) 09:34:16navigateの引数にありました。
0592デフォルトの名無しさん
2007/09/03(月) 15:55:25SQL文の区切り(?)に使われている GO がエラーとなってしまいます。
'現在試している方法
Dim hTextStream As TextStream
Dim hFso As New FileSystemObject
Set hTextStream = hFso.OpenTextFile("foo.sql")
Call MyConnect.Execute(hTextStream.ReadAll())
foo.sqlは、EnterprizeManagerで作成したテーブル、ストアドプロシジャの削除、登録のSQL文で、
当然ながら、クエリアナライザでは正常に動作します。
クエリアナライザで実行する場合と同じ結果を、VB6で得られないでしょうか。
0593デフォルトの名無しさん
2007/09/03(月) 17:50:39GOはSQLコマンドじゃないからです。
ここ参照
ttp://technet.microsoft.com/ja-jp/library/ms188037.aspx
0594デフォルトの名無しさん
2007/09/03(月) 18:33:25GOを無視し(というか、//に置き換え)てやってみたら、希望通りの動作になった様です。
GOってのはあっても無くても動作に変わりは無いのですかね?
とりあえず、簡単に試したところ正常に動いているようなので、これでいってみたいと思います。
ありがとうございました。
0595デフォルトの名無しさん
2007/09/04(火) 02:52:37/\___/ヽ ヽ
/ ::::::::::::::::\ つ
. | ,,-‐‐ ‐‐-、 .:::| わ
| 、_(o)_,: _(o)_, :::|ぁぁ
. | ::< .::|あぁ
\ /( [三] )ヽ ::/ああ
`ー/-‐‐ヽ‐‐´ ぁあ
0596デフォルトの名無しさん
2007/09/06(木) 23:34:19配列を2つ作って一方がもう片方を参照するには
どうすればいいのでしょうか?
0597デフォルトの名無しさん
2007/09/07(金) 00:06:46VB6の配列は値型です(関数のByRefで渡した場合の仮引数は参照ですが)
どうしても、という場合はクラスでラップするか、関数の仮引数としてByRefで渡してあげてください
0598596
2007/09/07(金) 12:37:04試してみます
0599デフォルトの名無しさん
2007/09/07(金) 15:26:15氏ね
屑野郎
0600[Fn]+[名無しさん]
2007/09/08(土) 11:46:27すみませんが,VISTAに普通にインストール&使用は可能でしょうか。
動作可能にはなっていますが,特にインストールの必要なファイルなどは
あるのでしょうか?
0601デフォルトの名無しさん
2007/09/08(土) 12:03:05インストーラーのインストール手順に従っておけばおkです
詳細については
ttp://www.microsoft.com/japan/msdn/vbasic/support/vistasupport.aspx
のHPを見てください
0602デフォルトの名無しさん
2007/09/08(土) 12:36:46http://pc11.2ch.net/test/read.cgi/tech/1189038267/37-38
ENDは使っちゃいけないのでしょうか?
0603[Fn]+[名無しさん]
2007/09/08(土) 20:29:57ありがとうございます。
インストールしていますが,問題ありのメッセージが2度ほど出てきます。
無視して続行していますが,大丈夫しょうか。
0604デフォルトの名無しさん
2007/09/10(月) 16:19:20ドロップダウンリストのどっちを使うか悩む事ってないですか?
どういう判断基準で、使い分けしてますか?
0605デフォルトの名無しさん
2007/09/10(月) 18:37:30考えるな感じ取れ、だよ。
【ドロップダウン】
○ 省スペース
× 選択肢の「見通し」が悪い。
ラジオボタンはこのちょうど反対。
0606デフォルトの名無しさん
2007/09/11(火) 23:32:20ファイルの送受信(メッセンジャー等に付いている様な)を行うプログラムを作成したいと
考えているのですが、VB6.0にそのような機能はついているのでしょうか?
また、上に挙げた様な機能がなくともそのようなプログラムを作成する事は可能なのでしょうか?
もし参考になりそうな本等がありましたら教えていただけると幸いです。
0607デフォルトの名無しさん
2007/09/11(火) 23:36:18ついてない。
> そのようなプログラムを作成する事は可能なのでしょうか?
可能。
> もし参考になりそうな本等がありましたら教えていただけると幸いです。
「○日でできるVB6.0」とか「VB6.0入門」とか、そういう系統。
0608デフォルトの名無しさん
2007/09/13(木) 13:50:31数量、単価、金額、消費税、原価率・・・などなどの四則演算を行う場合、
各々のデータ型をどう定義したら良いのでしょう。
VBでSingle/Double
SQLSERVERでfloat/decimal
ネットとかでよく見かけるのは、これらの浮動小数点型なんですが、
これって誤差がつきものですよね?
システム上同じ数字を出す全箇所について、必ず同じ計算ロジックを通すという
コーディング制約を設けて、それを遵守しないと、絶対どこかで誤差が出ますよね?
さらに、VBはDouble(倍精度)、SQLはfloat(単精度)などの定義をしている
例をことさらよく見かけますが、こんなのはアリなんでしょうか?
「金額が関わるところに浮動小数点を使うのはあり得ない」と断言しているサイトも
どこかで見ました。
必ず固定小数点型、VBはCurrency・SQLはmoneyだろう、スピードは落ちると言っても、
最近の機械ならそれこそ誤差の範囲だ・・・という感じの紹介で。
私も、数字に誤差の出ない固定小数点がいいんじゃないかなー、と思っています。
でも、現実はどちらかといえばそうじゃないことの方が多い・・・・
一般的には、どう考えるものなんでしょうか。
0609デフォルトの名無しさん
2007/09/13(木) 14:10:230610608
2007/09/13(木) 14:21:19decimalは概数型じゃないですね。
SQLSERVERでの単精度はreal、倍制度はfloat。
VBはDoubleでSQLはfloatなのは、データ型としては同じだから、
そこは問題ないんですね。
>>609
エクセルのセルに値を渡して、シート関数で計算させて
結果を読むってことでしょうか?
0611デフォルトの名無しさん
2007/09/13(木) 14:48:13Currency/Decimalだって何進法でも起こる誤差を避けることは不可能。
ただ、十進法で有限小数となる値の中には、
二進法へ変換すると無限小数になるので正確に表現できない、
つまり有限桁しか扱えないコンピュータでは、それだけで打切り誤差が発生するものがある。
だから十進法中心に考える人間には、一見すると誤差が付き物に思えるだけ。
もちろん、金融では致命的な弱点となるので、Single/Doubleは脱落。
また十進法の浮動小数点数 (VBのDecimal)はどうかというと、
下手に計算すれば情報落ちが問題になりやすいし、
VB固有の事情としてDecimal型の値はVariantに入れるしかないという
不便さもあって、駄目ではないが要注意。
そんなわけでCurrencyに落ち着く。もちろん整数だけなら整数型がよい。
0612デフォルトの名無しさん
2007/09/13(木) 14:52:17全部浮動小数点でOK
最終的に、小数点以下の金額にならないように
1円まで切り上げるでしょ?
その時に元の金額(整数)を使って金額の誤差がないか
1円の増減がないかを再計算するのさ〜
経理、給与計算プログラムの常識だよ〜
0613デフォルトの名無しさん
2007/09/13(木) 14:56:320614デフォルトの名無しさん
2007/09/13(木) 15:02:090615デフォルトの名無しさん
2007/09/13(木) 16:38:19軽くぐぐってみました。
一般的な企業の販売仕入や財務、給与などのシステムでは、
まず無理数の計算などは行われないし、丸めだけしかるべき関数を作れば、
やっぱりVB:Currency SQL:moneyで十分対応できますよね?
>>612
> 元の金額(整数)
この整数って、どの段階で出てるものでしょう・・・?
また、これを使って金額の誤差・増減の有無を、・・・再計算?
すみません、よくわかりません・・・
0616デフォルトの名無しさん
2007/09/15(土) 11:51:10これを確実に終了させるにはどうしたらいいのですか?
0617デフォルトの名無しさん
2007/09/16(日) 01:35:49それは変な話だな・・・
自分自身はEndでたいてい残らずに消えるはずですが。
むしろ自分以外のリソースやプロセスが残る可能性がある。
あ、でも>>616はどのプロセスが残ってるのかまでは書いてないのか。
どうなんでしょう?
一般論としては、UnloadやTerminateイベントでリソースの後始末をして
Endを使わないように、ということです。
Endを使わないとそれこそ残る、というならそれは潜在的なバグだ。
0618看護婦
2007/09/16(日) 19:50:07「問題が発生したためVBを終了〜」
「アプリエラー "0x04246c88"の命令が"0x1da1adad"のメモリを参照しました。メモリが"written"になることはできませんでした。」
とのこと。
これって何がダメなんですか?
どなたかお願いします。
0619デフォルトの名無しさん
2007/09/16(日) 19:53:50リンクアドレスの<a href=〜>タグのアドレス部分は下記で取得できたのですが、
str=Pattern"<a href=""([^>]*(\.jpg|\.gif|\.png))"" target=""_blank"">(.*)</a>"
単純に、http://abc.defg.net/hijk/lmn.jpg
とかの単純なjpgファイルへのアドレス文字列の正規表現が思いつきません。
教えてください。
0620デフォルトの名無しさん
2007/09/16(日) 22:48:31あとはURLかどうか調べるAPIがあったはずだからそれに任せる。
0621619
2007/09/16(日) 23:28:290622デフォルトの名無しさん
2007/09/17(月) 16:10:45いや〜それだけの情報だと
"0x04246c88"の命令が"0x1da1adad"のメモリを参照するのが
ダメなんじゃないかなあ〜としか。
F9やF8でダメな行を特定してみましょう。
あとここはささくれだった人が多いので、「エスパーw」みたいな
書き込みは華麗にスルーしてください。みんなイライラしています。
0623看護婦
2007/09/17(月) 17:13:39>>662 お騒がせしてすいませんでした。
0624デフォルトの名無しさん
2007/09/22(土) 07:33:11自分で書いてたのが、loopしまくりで自分でワケわからなくなってしまいました。
なにか簡単な方法がありますかね?
0625デフォルトの名無しさん
2007/09/22(土) 09:16:29> 2007年の第3木曜日
ちょっとおかしいよな.適当に月指定があるもんだとしたぞ.
だめでも,下の関数使える.
しかもついでに,2007/9/18は第3火曜日だ.
Public Function XthWeekDay( _
ByVal Year As Long, _
ByVal Month As Long, _
ByVal x As Long, _
Optional ByVal week_day As VbDayOfWeek = VbDayOfWeek.vbSunday) As Date
XthWeekDay = DateSerial(Year, Month, 1)
While Weekday(XthWeekDay) <> week_day: XthWeekDay = XthWeekDay + 1: Wend
XthWeekDay = XthWeekDay + 7 * (x - 1)
End Function
で, format$(form1.XthWeekDay(2007,9,3,vbTuesday),"yyyymmdd") みたいに.
0626デフォルトの名無しさん
2007/09/23(日) 16:48:16VBAでいうとApplication.Screenupdateみたいなのってありますでしょうか?
sub main()
Label1.caption = "処理を実行中です"
'この時点でフォームに実行中の表示をさせたいんです
call データベースに接続
Label1.caption = "処理が完了しました"
End sub
0627デフォルトの名無しさん
2007/09/23(日) 17:13:44VBAよくしらんけど
0629デフォルトの名無しさん
2007/09/25(火) 18:32:59VB6.0で作られてるのをAccess2000のVBAで作ってみてるんですが互換性はあるんでしょうか。
wiki見る限りVB7から互換性はないとのことだし
できることならそのまま流用、自己解読のためにも互換性の有無を教えていただけるとありがたいです。
0630デフォルトの名無しさん
2007/09/25(火) 18:34:400631デフォルトの名無しさん
2007/09/25(火) 23:26:59VBの言語仕様自体は共通。
ただしフォーム等のオブジェクト構造はほぼ別物。
ほとんどの場合、コピペするだけじゃ動かないと思っておいたほうが良い。
0632629
2007/09/26(水) 17:54:23言語が一緒、ということは片方がわかればもう片方もわかる、というわけでもないか
もう少しソースとにらめっこしてきます。ありがとうございます。
0633デフォルトの名無しさん
2007/09/27(木) 13:16:16Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Button1.Text() = "動作中"
Timer1.Interval = ComboBox1.Text
Timer1.Enabled = True
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Button1.Text() = "時間です"
Beep()
Timer1.Enabled = False
End Sub
End Class
という、タイマーのプログラムを作ったのですが、
タイマーの動作中はButton1をクリックできないようにしたいのですが、
どのようにプログラムを変えればよいのでしょうか?
お教えください。よろしくおねがいします。
0634デフォルトの名無しさん
2007/09/27(木) 14:16:30Button1_Clickの時に、
Button1.Enabled = False
で良いのでは?
あと、Timer1_Tickで
Button1.Enabled = true
で戻しとく
0635デフォルトの名無しさん
2007/09/27(木) 14:53:20なるほど、有り難うございます。
ってことは、
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Button1.Text() = "動作中"
Timer1.Interval = ComboBox1.Text
Button1.Enabled = False
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Button1.Text() = "時間です"
Button1.Enabled = true
Beep()
Timer1.Enabled = False
End Sub
End Class
で、よいのでしょうか・・?
初心者なものですみません・・・。
0636デフォルトの名無しさん
2007/09/27(木) 15:07:45それで動くかわかりません、環境が無いもので。。
しかし、コードを記述する場所はそれでいいんじゃないでしょうか
とりあえず、Button1.Enabled = False は使用不可にする意味ですので、
実現したい場所に記述して下さい。
ちなみに、.NETの質問はこちらに
ttp://pc11.2ch.net/test/read.cgi/tech/1189038267/l50
0637デフォルトの名無しさん
2007/09/27(木) 15:16:32わかりました。ありがとうございました。
スレ違いでしたか・・。すみませんでした。
0638デフォルトの名無しさん
2007/09/28(金) 18:00:27ttp://hpcgi1.nifty.com/MADIA/VBBBS/wwwlng.cgi?print+200512/05120059.txt
でVB6でpdfのページ数を求めるソースがあるのですが、
5 AcroPDF:AcroPDF1 を Form1 に貼り付ける
この意味が判りません。何をどうすればよいのでしょうか?
ここ以前まではできたと思います
(生成したクラスの名前をClass1からtagWndに変更するなどを含め)。
Adobe Reader 7.0はインストール済み、WindowsXPです。
よろしくおねがいします。
0639638
2007/09/28(金) 18:15:29実行→完全コンパイル後に開始
を行うと、変数「AcroPDF1」がハイライトされ、「コンパイルエラー:変数が定義されていません」
と表示されます
0640デフォルトの名無しさん
2007/09/28(金) 19:28:580641デフォルトの名無しさん
2007/09/28(金) 20:46:440642デフォルトの名無しさん
2007/09/28(金) 23:20:53これ書いたの俺だけど,
とりあえず,
> 4 [プロジェクト]-[コンポーネント]
> -[Adobe Acrobat 7.0 Browser Control Type Library 1.0]
> にチェックを入れる
はちゃんとチェック入れた?
チェック入れているなら,VBのツールボックス(ボタンとかテキストボックスとかピクチャボックスがあるアレ)
にAcroPDFのツールが選択可能になるから,ソレをForm1のデザイナに貼り付ければおk
ってか動くかどうか確かめてみた
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4989.zip
動くね.(要AcrobatPDF 7)
0643デフォルトの名無しさん
2007/09/29(土) 14:16:43ありがとうございます。書いてあるとおりチェックは入れております。
AcroPDFのツールをForm1のフォームに貼り付けてみました。
ですが、メニューを押してもページ数が表示されるとかそういった事は起こりません。
まず「PDFファイルパスを入力してください」というウィンドウが出るので入力してOKを押します。
するとForm1というタイトルのあるウィンドウが出てきますが、この時「AcroPDFのツール」を
貼り付けた部分は透明になり、その下にある画面が表示されます。そしてメニュー(pGetPageCount)を押すと
ディスクアクセスは起こるようですが何の変化も起こりません。うpして頂いたzipを解凍してやっても同様です。
「(フリーの)Adobe Reader 7.0が必要」なのではなくて「(製品の)Adobe Acrobat 7」などが必要なのでしょうか?
まあそういった事で駄目なら他の方法を探しますorz
0644デフォルトの名無しさん
2007/09/29(土) 20:02:34表示するプログラム作らないといけないんですが
APIの使い方が分かりません
0645デフォルトの名無しさん
2007/09/30(日) 00:21:420646デフォルトの名無しさん
2007/09/30(日) 02:41:22APIは初心者向けの内容じゃないから他スレで聞いた方がいいですハゲ。
自分自身のプロセス(exe)内だったらForm.ZOrderとかがあります。
他プロセスだったら、使うのはFindWindowとかSetForeGroundWindowだと思います。
あとはググレカス。
あと、最近のWindowsは他プロセスのウィンドウを手前にしようとかしても
点滅するだけで手前に来ないようになってます。よろしく。
0647デフォルトの名無しさん
2007/09/30(日) 07:00:59遅くなった
うーん,確実に俺の環境とは違うなぁ
とりあえず,動作検証用にSS貼り付けるから,こちらで確認できる正常動作を見てくれ:
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4993.zip
> 「(フリーの)Adobe Reader 7.0が必要」なのではなくて「(製品の)Adobe Acrobat 7」などが必要なのでしょうか?
そんなことはないぉ
Adobe Reader 7.0(バージョン7.0.7)で確認しているぉ(^ω^
あと,Adobe PDF ReaderでActiveXコントロールとして表示されない,をググると…
ttp://www.google.co.jp/search?complete=1&hl=ja&q=Adobe+PDF+Reader+ActiveX%E3%80%80%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84&lr=&aq=null
あとはよーわからん
0648デフォルトの名無しさん
2007/09/30(日) 13:04:220649デフォルトの名無しさん
2007/10/01(月) 08:14:46何度もありがとうございます。原因を探してみます。
矢張り当方が根本的な部分で理解していない可能性もある訳ですしねorz
0650デフォルトの名無しさん
2007/10/03(水) 10:10:43あのう、IEのツール->インターネットオプションで出てくるような、タブコントロールの
乗ったダイアログで、かつそこでの設定変更をリアルタイム(というかイ
ンタラクティブ)で、元のウィンドウに反映されるようなのをダイアログ
を作りたいのですが、
(つまり、適用を押さなくてもラジオボタンとかを
変えただけで変更が反映されるような)
これはやはり
−フォームで自作する
−ラジオボタンの変更イベントをキャッチしてイベントドリブンで自分で作る
という感じで皆さんやっておられるのでしょうか?
なんかいいアクティブXとか標準のコンポーネントとかありますでしょうか。
なにとぞよろしこ。
0651デフォルトの名無しさん
2007/10/03(水) 10:16:41逆にあったら不便だろ
言わなくても分かってると思うから今後誰か見たときのためにかくけど,自分中心で考えたら世の中まわりゃせんよ.
VB6はそのへんの処理の抽象化があまり出来ない言語だからゴリゴリ作るしかほかない.
何かデザパタ参照するとちょっとは楽できるかもしれんが.
0652650
2007/10/03(水) 11:12:21おせわになりましこ。結構ググりまくって自分の理解ぎりぎりのところで
文章書いているので変な日本語スンマソン。
>デザパタ
ググッテみたらアプリケーションウィザードでいろいろ作ってみるというのを
ハケーンしてワクテカしながらいろいろ作ってみたけど肝心のツール->オプション
が空で、実行したら「てめえでコードを記述すれ」と言われてガカーリシターヨ。
なんか、近いのご存じでっか?
■ このスレッドは過去ログ倉庫に格納されています