古代VBプログラマ質問スレ(Ver.6.0 まで) part65 [転載禁止]©2ch.net
ここは古代に使われていたVisual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。
VB.NETは別物なので専門スレで、VBA、APIの質問もそれぞれのスレで。
○ 質問者の心得
一.質問する前にMSDNやGoogle、過去ログにも目を通してみる。
二.VBScript、インストーラーなどはこのスレでOK。
三.質問は第三者にもわかりやすいよう簡潔かつ具体的に。
四.荒らしは相手しない。
○ 回答者の心得
一.答えられない質問は無駄に罵倒せずスルー。無理するな。
二.代用法を強制しない。
三.回答する上で必須ではない情報をむやみに聞き返さない。
四.荒らしは相手しない。
五.VB情報募集中。
六.回答は質問者が理解できるよう具体的に。
MSDN Online Japan ホーム
http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
Google
http://www.google.co.jp/
前スレ VBプログラマ質問スレ(Ver.6.0 まで) part64
http://peace.2ch.net/test/read.cgi/tech/1393069842/
※「まず自分で調べる」クセを身につけよう。 VB6でクラスライブラリをビルドしてるんだけど、
1)Constみたいな定数を実装する方法は無いのかな?
2)Optional ByRef引数の指定が省略されたかどうかを、その関数内で判定するのはどうするのがいいだろ? >>432の補足
ActiveX DLLとしてビルドして、外部プロジェクト(VBA)から利用しようとしている
1)外部プロジェクトからConstみたいに参照できる定数をActiveX DLLに実装できないか VBSで、ウインドウハンドルを持たないボタンを安定して押す方法ってあります?
SendKey連打で切り抜けられるものもありますが、
→→↓↓Enterとか、必殺技コマンドみたいなのが必要な状況では、いまいち安定しません。
5秒待つとかダルいですし、そんなに待ってもダメな時もありますし・・。
もしくは、JSでもいいんですけど。 >>432
1.
Property Getだけ用意する
2.
IsMIssingてのがあるけどまずありえない値を初期値にしおく
http://www.openreference.org/articles/view/239 >>434
ブラウザ上のボタンはどうやって押すんだろね
分からんのでUWSC使ってる
UWSCはハンドルじゃなくてプロセスIDと座標を使ってるから
SendMessageじゃないAPIがあるんじゃないかと思う >>436
ブラウザは、IEで、htmlで書かれている部分ならgetElementsByXXXXという関数で簡単に押せます。
ダウンロード通知バー内のボタンが難しい。 VBSじゃなければUIAutomationかAccesibilityでいけるんだが、VBSだと難しいかも。
>>436
webの話なの?
それならVBSでもいけるでしょ。
それからUWSCはAccesibility使えた筈。 VBSじゃなくて良いならPowerShellでUIAutomationは使える。 >>435
ありがとう。
2)
IsMissingなんて使ったことなかったw
まさにVariant型で配列を渡す引数だったし、良さそう
VBAでは初期値NullにしてIsNullで判定してたけど、VB6だと引数初期値Nullでコンパイルエラーになるから困ってた
1)
Optional引数の初期値には指定できなさそうだ
現在、InstancingプロパティをGlobalMultiUseにして、Publicメンバ変数にして、Initializeイベントで初期化してるんだけど、これもOptional引数の初期値には出来ない >>429
需要ある
VBAのライブラリ開発では重宝してる。
VSTOみたいにバージョン相性もないし、ほぼそのままユーザフォームを含むVBA資産を再利用できるし。
現行では、いちいちファイル保存先を指定したり、ビルド先を指定したり、インターフェースの機能構成が不便だ。
あと勝手にレジストリにDLLが登録されるのはどうにかして欲しい(管理者権限を付けないで起動すれば登録されないけど) >>441
そんなあなたに
https://eijiman.com/windows10-vb6-runtime/#Window10VB6
Microsoftによって機械翻訳された内容ですが、次の記載があります。
VB6 ランタイムは Windows 10 に付属し、その OS の有効期間にわたってサポートされます。
出典:Visual Basic 6.0 のサポートに関する声明 | Microsoft Docs
つまり「Windows10でVB6ランタイムが継続的に実行できるようにサポートし続けていく」ということになるのでしょう。 >>441
VBAのライブラリをVB6で作って意味あるの?w
UI以外はVB6で書けるならVBAで書けるでしょw
それにVSTOの代替にはならんでしょ つーか、20年前に死んでる開発ツールをなぜまだ使うのw
もういい加減成仏させてやろうよ >>443
「ライブラリ」の意味も分からん中卒無能は黙っていろ >>446
ライブラリはオフィスだけでも作れるんだけど....
むしろVB6ランタイムに依存するライブラリをわざわざ使う意味が分からん。
上にも書いたが、UI以外はできることは同じなんだけど > むしろVB6ランタイムに依存するライブラリをわざわざ使う意味が分からん。
VB6ランタイムに依存することが
何のデメリットになるのかわからん >>447
>ライブラリはオフィスだけでも作れる
どういう実装形態を言っているのか?
ワークブック参照とか言い出すんじゃないだろな? >>438
VBSでもExcel経由でAccessibleObjectFromWindowが使えそうなんですが、
どうやってIID_IAccessibleを渡せばいいかわからないんです。
IID_IDispatch(?)を試そうとしたら、今度はStrPtr関数が使えないという。 win10でVB6使ってるけど
フォーム上に配置したコントロールを複数選択して移動すると
ヌルヌルして時間かかるよね
ま、問題ないけど >>453
VB6でコントロールの編集が重い場合
デスクトップ コンポジションを無効にしないとデザイン画面が重い。
1.コントロールパネルで「パフォーマンス」を検索
2.パフォーマンスの情報とツール
3.視覚効果の調整→視覚効果タブ
4.カスタム内の[デスクトップコンポジションを有効にする]のチェックを外す コントロールパネル
→システム
→システムの詳細設定
→「詳細設定」タブ
→パホーマンス
→カスタム
このチェックボックス付きリストの中に
「デスクトップコンポジションを有効にする」はありませんでした
Win10 Homeだからかもしれません
元々アニメーション表示のような「効果」は大嫌いなので、ほとんどOFFにしてましたが
全部OFFにしても変わりありませんでした
でもまぁWin10でコンパイルできるだけでも御の字
お手数をおかけしました DOS窓では上手くいくのに、VB6から以下を実行するとうまく動きません。
何がいけないのでしょうか?
Shell "powershell start-process cmd -ArgumentList '/c bcdedit /set TESTSIGNING ON'-verb runas & shutdown /r /t 0", vbHide TESTSIGNING ONの後のスペースが抜けてましたが、相変わらず動かない・・・。
powershell start-process cmd -ArgumentList '/c bcdedit /set TESTSIGNING ON' -verb runas & shutdown /r /t 0 DOS窓で動くけど、VB6からは動かないと言ったら
昔ならDOS時代のカレントフォルダ上で動くアプリだからってことだったけど
パワーシェルとかわからん VBからShellでPowerShell呼び出して何かを動かすの?
ピタゴラスイッチみたいなことするね。
普通にプログラミングしてる奴なら気持ち悪いとか、かっこ悪いと思うんじゃないかな。 世の中使えるソフト屋と使えないソフト屋といるだろ?
気にならないということはつまりそういうこと VBのコード編集画面てWin10でカーソル太く設定しても変わらないんだ
しかも点滅が5秒で終わるしバカじゃなかろかWin10 ピクチャの高さを設定して、設定できたか確認する
Picture1.Height = 50
Debug.Print Picture1.Height
巨大なピクチャはメモリの都合か、設定できないのは知ってるんだけど
こういう小さいピクチャでも設定できないケースがあるというのは、
どういうことが考えられるでしょうか
Picture1.Refreshを入れてもDoEventsを入れても変わらず
Win10です PowerShellねえ
Windows API利用する方法探る方が良い様な >>440
初期値Nullなんて止めとけ
属性でMAX値設定する方が固い 画面だけVBで裏ではコンソールアプリ動かすなんてよくやってたから違和感ない VB6のFormat 関数の和暦変換
レジストリの和暦データ見るようになったよね つまり今まで見てなかったのか?
VB6のランタイムに何か修正あったのか? 最初からこうなることがわかってたら独自実装のFormat作らなかったのに。遅いねん MS も公にはVB6 対応しまーす
とは言いにくかったんでしょう 今のままでは令和に変換できなかったってこと?
で、今後は改元に対応するようにランタイムが修正されたと。 Windows10(64bit版)、Jet4.0(DAO3.6)でSQL文(OpenRecordset"SELECT...")を実行すると
まれにフリーズ(応答なし)になるの何で?
同じプログラムでもWindows7(32bit版)だとフリーズせず結果が帰ってくる 地元でVB6→VB.NETへのマイグレーション案件有るんだが
移行が一足飛びで出来ない事実を知って炎上必須っぽいので様子見 Win10のmsvbvm60.dllのタイムスタンプは2018年になってる
天皇の生前トンズラが分かった時点でレジストリを見るように対応したってことだろうか 自分用のメーラー作ってるんだけど
BASP21使ったことある人いる?
RcvMailとRcvMail2があって、それぞれSAVEコマンドがある
どう違うの?
コールバック関数で処理を中断できるようにした2を後から追加したってことなのか Windowsには、標準でVBのコンパイラが入ってるそうだけど、
GUI作るときはどうすんの? >>478
標準でVBのコンパイラについてはよく知らないけど、GUIはWin32APIだけで出来ることは出来る。 >>481
それ、VB6.0で通用する要素0に見えるんだが。 う〜ん、普通にVSでGUI作って、
コンパイルだけ標準コンパイラって無理かな? ニュー速+でwin10アップデートするとVB6/VBA全滅するってスレ立ってたけど、こっちは静かだな。 それは知らなかった
おれはバリアント型の配列を使ったことが無いから無事だっただけか
しかしWin10はおかしいな
毎月、システム丸ごと入れ替えてるんじゃないかと思うほど大変更をして
メモ帳の仕様を変更しましたとか、誰も望んでいないようなことを言う
絶対なにか企んでるよな >>487
1. この程度の変更は普通
2. ユーザーの要望を受け付けてる
3. メモ帳の変更は1809で人気第二位になった機能
https://insider.windows.com/ja-jp/community-news/windows-insiders-vote-for-their-favorite-features/
#2 ? A better Notepad
WSLの素晴らしさは開発者ならだれでもそう思うし、
WSL=Linux対応に関連するメモ帳の機能強化は当然の結果。やらないほうがおかしい。 この程度の変更は普通って誰基準で普通などと言うのか
Win10を出して何年経ってるんだ
毎回広範囲な変更しやがって
試行錯誤でユーザーに試験させている
サービスで言うと毎回20サービスくらい変更している
一向に収まる気配なし
どんだけ完成度低いんだ
UIは子供が作ったようにメチャクチャだし >>Variant型配列
セキュリティ上宜しく無いと言う話
何でも受け入れるVariant型は確かに問題有る まあ古代VBプログラマの板に来る奴なんて保守派だよな
設定アプリとコントロールパネルをいい加減統一して欲しい
ついでに言えば管理ツールも >>489
> Win10を出して何年経ってるんだ
> 毎回広範囲な変更しやがって
イミフ。1ヶ月で広範な変更したら怒るだろ?
何年も経ってるんだから、そりゃ最初に比べれば
変更は多いだろうさ 普通ならそのレスが何を言いたいのかはっきりわかるはず うん。>>489が実は何も困ってないのに
文句だけ言ってるってことはわかるよw RmDir直後にMkDirしたら「ファイル名または番号が正しくありません。」になるのやめてくれ メモ帳でテキストを作っったら
プログラムから正常に読めなくて悩んじゃったよ
時代は変わっているのじゃのう BOMかな
なんでデフォルトがありなんだろうね
今無い方が主流だよね 今のメモ帳はBOMなしUTF-8がデフォだよ
>>497
Windowsは複数の文字コードに対応している。
その文字コードを正しく認識するにはどうしてもBOMが必要になる。
例えばShiftJISとBOMなしUTF-8を完全に見分けることは不可能
ASCII文字しか書かれてないファイルはShiftJISとしてもUTF-8としても正しい
そこに日本語文字を追加する時どちらで追加すればいいかなんてわからない
LinuxはUTF-8(正確にはLANGで設定されたもの)が基本です。
他の文字コードは知りません。とアクティブな文字コードを一つに限定した。
一方Windowsは過去の文字コードも考慮しつつ、同時にUTF-8に設定を変えることなく
対応することにした。その互換性に関する考え方の違いからそうなった。 Unicodeの最大の成果は「固定長の文字コードとかあり得ない」という事が明らかになったこと いまからVB6の開発環境を作るためにはどうしたらいいでしょうか?
VisualStudioサブスクリプションに含まれていますか? VS6をヤフオクで買えば
いやVB6だけ買えばいいか
Win10でも動くよ >>501
Visual Studio SubscriptionsにならVisual Basic 6.0 Enterpriseあるで。 久しぶりにVB6を導入しようとしたらMSDNライブラリディスクを紛失してしまいヘルプが開かない
VB6開発環境導入済みのPCからヘルプライブラリをコピーしただけではF1どころかCOLファイルも開けなくて困った
もちろん私の事だから解決できましたけどね >>504
> MSDNライブラリディスク
2年間で何セットか送ってきてて最後のを入れるようにしてたけどオンラインにもあるんだよね
無いんだっけ? >>505
ある時期以降にサブスクリプションで送られてきたMSDNライブラリは使えませんでした
身辺整理のために古いディスクを大量廃棄したのですが、その時にVB6本体ディスクだけあれば良いと思ってしまいました オンラインには英語のライブラリだけはありますが、IDEからF1で引っ張れないし使いずらい サブスクリプションを解約してすぐ必要になるというのは皮肉なものです MSDNライブラリ日本語版が取れないのは痛いですね
https://馬ちゃん.com/Agent/index.html >>510
英語版で良ければVisual Studio 6.0とMSDN Libraryの両方が揃いますね
日本語版Visual Studio 6.0と英語版MSDN Libraryでは不整合になると思います ああ、マイナーなやり方を調べている時に、よく出てくる人ね。
何者なのかと思っていたが。 >>512
お前、よっぽどレベル低いんだな。
魔界の仮面弁士さんを知らないとはw
この20数年の間、VB界隈で日本で1番の大物だぞ。
VB6.0、VBA、VB.netで上級者を自認する者達で、彼にお世話になってない奴なんていないだろう。 恥ずかしい人には恥ずかしいファンが付くんだな、としか思わないと思うよw
デーモン小暮を連想させるね 自分よりレベルの高い、明らかに手が届かない人を叩きたくなる心理は
劣等感や反骨精神旺盛な人に見られるそうだが
該当するだろうか? 叩いてるのは明らかに手が届かないとすら分からないレベルだと思うよ。
ある程度のスキルが有れば手が届かないと思っても憧れるだろ。 >>518
ネットではリアルと別人格になる人が多いものです
憧れも匿名の世界では邪悪な憎しみや妬みに変わることは珍しくありません >>516
デーモン小暮は立派な人物だぞ
「神」が人間に戦争させてきた
「日本の神」は京都大学に原爆を開発させ広島で自爆させた
広島に住んでいたデーモンは、神こそ人類の敵だと知った
それを伝えたいための悪魔のキャラだったが
伝わらなかったと嘆いていたよ >>520
高校が俺と同じ横浜の桐蔭学園だからな
俺より成績が少し悪くて違うクラスだったがよく知ってた
アイツは早稲田へ行ったが俺は筑波大学へ行った
違う人種で良かったと思うわ 変なの発見した
VB6、ブラウザ:クローム @Win10だけど
デザイン時のフォーム上で、マウスによる範囲選択の要領で
マウスボタン押したままマウスをグルグルと動かしていると像が浮かび上がって来る
ブラウザ上の映像に違いないのだけど、今表示しているページとは違う 昔からある「Wingdings」という絵文字フォントが
ボタンのキャプションにすると便利そうだと、今さら気付いたんだけど
実際に使ってみると、Win10の文字コード表とちょっと違うところがある
具体的には、コードで&h81から31文字、&hE0から29文字が使えない
そこに矢印とかチェックマークとか使いたいのがあるのに
なんで使えないのでしょう VBでもうちょっとかっこいい画面作れないんですかね。visual srudioの共通?コントロールださすぎ。 プログラムでSQL作る箇所?、一つの変数に項目やらウェア句やらを代入してSQLを
作る箇所を書くのが、(インシデントの調整等)毎回めんどくさいなと思っていたから、
テキストボックスにSQLを書くと、自動でSQL作る箇所を作ってくれるプログラムを作ろうと
一瞬思ったけど、画面がダサくて作る気失せた。 ほんと過疎スレですね。語られさえしない言語ですやん。 ワンポイントレッスン
FileCopyは属性はコピーされない