1 名前:デフォルトの名無しさん mailto:sage [2022/02/09(水) 14:24:32.62 ID:I0u44nFvd.net] !extend:checked:vvvvv:1000:512 !extend:checked:vvvvv:1000:512 ↑2行に減ってるけど、同じ内容を3行に増やして貼り付けるナリ ExcelのVBAに関する質問スレナリ コード書き込みや作成依頼もOKナリ ※前スレ Excel VBA 質問スレ Part74 https://mevius.5ch.net/test/read.cgi/tech/1639932059/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
876 名前:デフォルトの名無しさん [2022/04/19(火) 05:01:48.08 ID:dRTEe6m5a.net] どうでもいいが GやPAIは定数として関数の外にだす方が好き
877 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 06:39:40.35 ID:UDMLP6tq0.net] >>858 cellsのプロパティにある 文脈的に予約後ってコトぐらいwかるだろ
878 名前:デフォルトの名無しさん (ワッチョイ 9f01-0UVf) mailto:sage [2022/04/19(火) 07:20:27 ID:KrqnU+fb0.net] >>863 Cells w それを言うなら Range だし、Range にあるのは Height な そもそも単なるプロパティ名で関数でも
879 名前:予約後でもないし [] [ここ壊れてます]
880 名前:デフォルトの名無しさん (ワッチョイ b768-fNw1) mailto:sage [2022/04/19(火) 07:25:56 ID:UDMLP6tq0.net] よく見たらhightかよクソがw
881 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 07:48:45.10 ID:muVDZfH30.net] >>860 ざっくり見た感じだけなので詳しく分からないけどその計算式って正しい? その計算式の内容と判定条件だと初期値の値によっては計算が収束せずに振動を繰り返すことになるので ループから脱出できなくなる気がする
882 名前:デフォルトの名無しさん (ワッチョイ bf14-4qoo) mailto:sage [2022/04/19(火) 12:03:50 ID:SIyX6JLR0.net] Do?Loopの例文見ると条件はWhileが多い気がする 自分はUntil派なんですが
883 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 12:41:24.95 ID:y80OoYXYM.net] でっていう
884 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 12:53:32.89 ID:Hbe28u0D0.net] Untilはコーディングミスで「なぜか抜けられない」状態が起きた時の解決がめんどくさいからあんま使いたくない Whileならコーディングミスっても、値が範囲内でループし続けてるくらいしか原因がないから突き止めやすい
885 名前:デフォルトの名無しさん [2022/04/19(火) 14:33:22.38 ID:XaMNMP/i0.net] >>869 無能自慢?
886 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 14:38:03.91 ID:Hbe28u0D0.net] >>870 リスクは減らしたいってだけの話 自分一人だけがマクロいじるとは限らないし
887 名前:デフォルトの名無しさん [2022/04/19(火) 15:06:19.06 ID:XaMNMP/i0.net] >>871 いや、お前が無能なだけ
888 名前:デフォルトの名無しさん [2022/04/19(火) 15:24:45.82 ID:Cixyrkk96.net] https://imgur.com/srNrR8t 一応、大学から共有されている理論式がこんな感じなのでおそらく会ってます
889 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 16:03:50.77 ID:NrfRvlTVr.net] どうでもいいけど、Excelってそういう計算やったほうがいいんだっけ 小数点以下になるようなものは避けたほうがいいって記憶がある
890 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 16:13:18.16 ID:Hbe28u0D0.net] 小数点以下の計算は誤った結果が出ることも結構あるから、 ・型はCurrencyにして小数点以下5桁までにする ・可能であれば整数に直してから計算させる くらいはしておいた方がいいね
891 名前:デフォルトの名無しさん [2022/04/19(火) 16:39:16.39 ID:Cixyrkk96.net] Function WaveLength(Height1, Time1) As Double Dim G As Double, PAI As Double Dim WL0 As Currency, WL1 As Currency, WL2 As Currency G = 9.80665 PAI = WorksheetFunction.Pi() WL0 = G * Time1 * Time1 / (2# * PAI) WL1 = WL0 WL2 = WL0 * WorksheetFunction.Tanh(2 * PAI * Height / WL1) Do WL2 = WL0 * WorksheetFunction.Tanh(2 * PAI * Height / WL1) If Abs((WL2 - WL1) / WL1) < 0.001 Then Exit Do WL1 = 0.5 * (WL1 + WL2) Loop WaveLength = WL2 End Function とりあえずこういった感じで修正したものの実行するとオーバーフローするみたいです。 何が原因でしょうか?
892 名前:デフォルトの名無しさん [2022/04/19(火) 16:41:24.14 ID:Cixyrkk96.net] IF条件で抜け出せなくなってしまったとかでしょうか?
893 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 16:59:26.12 ID:Hbe28u0D0.net] >>876 内容はあまりわかっていないが、できそうな対策から お察しの通りLoopを抜ける判定が上手く行ってないと推測される オーバーフロー対策に、書き換え可能であればDoじゃなくてForNextに書き換えたほうがいいかも Function WaveLength(Height1, Time1) As Double ↑引数は接頭にByValかByRefかを書く 多分ByVal そして引数の型も明記する 特にTime1はDate型かそれ以外か明記が必要 Dim G As Double, PAI As Double ↑どっちもCurrencyでいいかと Dim WL0 As Currency, WL1 As Currency, WL2 As Currency G = 9.80665 PAI = WorksheetFunction.Pi() WL0 = G * Time1 * Time1 / (2# * PAI) WL1 = WL0 'WL2 = WL0 * WorksheetFunction.Tanh(2 * PAI * Height / WL1) ↑ここのWL2はいらない Do WL2 = WL0 * WorksheetFunction.Tanh(2 * PAI * Height / WL1) ↑HeightはHeight1にする 'If Abs((WL2 - WL1) / WL1) < 0.001 Then Exit Do 'WL1 = 0.5 * (WL1 + WL2) ↑ここ2行は↓のように書き換える If Abs((WL2 - WL1) / WL1) *1000< 1 Then Exit Do Else’上の条件を満たしていないときはこの値を代入して処理を続けますよの記載にする WL1 = 0.5 * (WL1 + WL2) End If Loop WaveLength = WL2
894 名前:デフォルトの名無しさん [2022/04/19(火) 17:04:43.35 ID:XaMNMP/i0.net] 馬鹿だからCurrencyを使うのだな
895 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 17:07:08.59 ID:3cTbAnobM.net] 数値計算に固定小数点数のCurrecyは駄目 浮動小数点数のDlubleでないと直ぐにオーバーフローする
896 名前:デフォルトの名無しさん [2022/04/19(火) 17:34:34.65 ID:C02npA8w0.net] 解決しました!!本当にありがとうございます!
897 名前:デフォルトの名無しさん [2022/04/19(火) 17:35:09.38 ID:C02npA8w0.net] めっちゃ興奮するw
898 名前:デフォルトの名無しさん [2022/04/19(火) 17:37:09.90 ID:C02npA8w0.net] >>878 ありがとうございます!
899 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 17:44:54.91 ID:Hbe28u0D0.net] >>883 解決したみたいで何よりです 多分、0.001より小さいかの判定だけがネックだったんだと思う もし1と比較している理由を教授に訊かれたら「VBAだと小数の計算が正確ではない事象があるため、回避できるように数式を書きました」と答えとき
900 名前:デフォルトの名無しさん [2022/04/19(火) 17:56:52.80 ID:C02npA8w0.net] >>884 わかりました! 今回は本当助かりました。本当にありがとうございました。
901 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 22:29:37.25 ID:2A4xjXpz0.net] おー理解できたのなら大学の工機前頑張ってなー
902 名前:デフォルトの名無しさん (ワッチョイ b717-73NO) mailto:sage [2022/04/20(水) 00:08:28 ID:Tl7YCJ+60.net] double型を使って除算をすると小数点以下の誤差が出る場合があるのはどのように解決したら良いでしょうか 四捨五入では本来算出したい数値からズレてしまいます currency型なら誤差が発生しない聞いたのですがどうやら馬鹿が使う物らしいので何か別の方法をご教示頂けませんでしょうか
903 名前:デフォルトの名無しさん [2022/04/20(水) 00:24:45.89 ID:TUC465n/0.net] >>887 馬鹿が悔しくて質問か? 除算で1÷3だったらどうなると思う?
904 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 00:37:19.89 ID:EV0gbz680.net] >>887 除算した結果をどうしたいのかによる 結果を他の数値と比較したいのなら、比較したい数値に除数を掛けて比較する
905 名前:デフォルトの名無しさん (ラクッペペ MM8f-/HVa) mailto:sage [2022/04/20(水) 02:03:14 ID:HkpFcH5SM.net] 実際のところ除算の丸め誤差が問題になることは少ない 数値計算では有効数字と桁数さえ把握していれば十分な精度で演算できる というか浮動小数点だろうが固定小数点だろうが四捨五入すれば必ず丸め誤差は発生する むしろ浮動小数点を扱う場合は桁数の差が大きい数値を加減算する時の情報落ちと、値が近い数値同士を減算する時の桁落ちの方が厄介
906 名前:デフォルトの名無しさん (ワッチョイ b717-73NO) mailto:sage [2022/04/20(水) 02:16:34 ID:Tl7YCJ+60.net] >>889 分かりにくかったらごめんなさい ・数十行(場合により数百行から千行弱)の作業計画表があってそれぞれ開始日、終了日、工数を作業担当者が決定し、それとは別に納期を設定します ・各行では作業日数を算出し、工数を日割り計算し、小数点第二位で四捨五入、最終日に余りを加算して進捗の計画とします ・作業担当者は日毎に各項目の進捗率を入力します ・作業担当者はこのファイルとは別に上位工程担当者との連絡シートを更新し、そこで発生する追加工数などをこのファイルで読み込みます ・上記データを元に様々な演算を行い、納期に対して進み見込みか遅れ見込みか、またそれが何日の見込みかを算出します ・結果を当初計画、進捗実績および予測、納期などをグラフで可視化 という仕様のツールなのですが2つ目のあたりで余計なズレが発生して演算が狂ってしまう場合があり、 currency型に値を放り込んで強引にズレが生じないようにしているのが現状です 100%発生するのではなく20物件に1件程度の発生率なので如何したものかと頭を悩ませております
907 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 04:15:00.17 ID:i+5dFZiZM.net] >>891 算数わかる?
908 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 06:42:44.94 ID:PPr2by3tM.net] >891 2つ目のあたりというのがよく分からないけど箇条書きの2段目の項目のことなら処理の仕方が間違ってる 最後に余りを足すなら途中経過はすべて切捨てで処理、途中経過を四捨五入するなら全ての累積値を最後に被除数から引いて加算値を求める どちらかで処理しないとズレるのは当たり前
909 名前:デフォルトの名無しさん (ワッチョイ 1701-hfAD) mailto:sage [2022/04/20(水) 07:19:32 ID:Ls68Jrpy0.net] Currency型てのは誤差が出ないわけじゃなくて精度が固定されてるっていうことなんだけどな そもそも工程表程度の精度で浮動小数点の誤差が問題になることなんてないだろうに どうしても誤差が気になるなら割り算を商余で表現するとか演算順序の見直し(割り算を最後に)
910 名前:デフォルトの名無しさん (ブーイモ MMcf-73NO) mailto:sage [2022/04/20(水) 07:23:24 ID:uFaPvbC9M.net] >>893 余りは工数-日毎工数x作業日数で算出していましたが処理が違いますか? 勿論この場合余りが負の値になる状況もあるので正確には余りとは違う表現をするのが正しいのですが これで算出した最終日の工数が3.5hになるべきところが3.49999hになるのは計算式の誤りですか?
911 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 07:34:26.59 ID:lCHITGXH0.net] >>895 最後に小数点以下第二位で四捨五入すればいいじゃん
912 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 07:40:54.07 ID:lCHITGXH0.net] >>895 どこでどれぐらい誤差が出るかは元データと計算式とデータ型によるから、その情報だけではどこが悪いか判断できない 工数は小数点以下第何位まで入力されてんの? そもそもデータが1000行しかないんなら別にCurrencyのままでいいじゃん 仕事の目的はプログラミングじゃないんだから、結果がちゃんと出たんなら現時点ではそこで終わっとけ 誤差の処理をちゃんとやうとすると情報サイエンスの基礎をみっちりやらないと無理だから、今回の件とは別に自宅で時間かけて勉強しろ
913 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 07:47:48.41 ID:uFaPvbC9M.net] >>896 四捨五入した値をdouble型に代入した際にもこの誤差が発生する場合もあったのですがその場合の対処はDoWhileで数値が丸められるまで四捨五入を繰り返す処理を噛ませれば良いですか? それよりcurrency型に代入した方が処理を省略できるのではないでしょうか 担当者の癖や上位工程担当者の癖、物件の種類などを加味して分析して完了予測を出すためツール全体で2万弱のステップ数があり、可能な限り処理を早めたいです まぁそんなの誤差の範囲じゃんとかもっと別に短縮出来る所あるだろって言われたらそれはそうってなるんですが 工数は小数点第一位までの入力です
914 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 08:21:13.14 ID:lCHITGXH0.net] >>898 10進数の0.1は2進数だと循環小数になるんだわ Doubleは単に桁数が増えるだけで誤差がなくなるわけじゃないから、たぶん根本的に理解が間違ってる
915 名前:デフォルトの名無しさん [2022/04/20(水) 11:58:28.08 ID:TUC465n/0.net] >>898 そもそも何が問題かわかってる? コンピュータ(VBA)の割り算では例えば0.999999とかになる問題は常にあることと、有効桁数を常に頭に入れてロジックを組む必要がある 割り算した結果の少数点同士の足し算もできるだけ避ける 小数点以下は一桁と決まってるなら最初から10倍しといて見せる時だけ小数点を付ける 最終的に割り算したら四捨五入する などなど当たり前のことをわかってないから数値が合わないように見える こんなの基本だが
916 名前:デフォルトの名無しさん [2022/04/20(水) 12:03:05.91 ID:TUC465n/0.net] それと、変数や定数、埋め込み数値の型に気を付け、違う型同士の演算ではどういう結果になるかも言語の仕様を常に調べるのは当たり前のこと
917 名前:デフォルトの名無しさん (ワッチョイ ff63-0fbr) mailto:sage [2022/04/20(水) 12:14:09 ID:AAz4B5BA0.net] >>901 なるほど!さすが
918 名前:物知りですね! でもここは質問スレだからもう少し人には優しくしてくださいね [] [ここ壊れてます]
919 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 12:39:04.97 ID:dxBIrhD/0.net] プログラムの本質からは外れるけど、現場の工場要員を秒刻みで拘束することに繋がるのを 把握しておくべき 上の方の役員からの指示でのシステム構築なのか、現場の意見を汲んだ システム化なのかでも変わってくるかも知らんが、古来そういうのは運用し出してから破綻する 相手がロボットならまだしも、自分だって作業を秒刻みで拘束されたら嫌気さすだろうに システム構築する側の自己満足に過ぎないような無駄なヶ所に注力したところで給料泥棒化するだけ 実際には不良(材料不良・加工不良・落下などの破損・etc)が出たり加工機械の不具合で作業がSTOPしたり 余った時間をバッファに充てるだけじゃ無くて、敢えて余裕をもたせたプランニングを意識しないと 全社員から反発くらって、せっかくの仕事が無かったことにされる 黒歴史の予感しかしない ロボットやオートメーション機器のためのプログラムだとしたらVBAは間違ってると思うし
920 名前:デフォルトの名無しさん (ワッチョイ 5701-5h/q) mailto:sage [2022/04/20(水) 13:55:16 ID:wuSnjbzX0.net] >>900 浮動小数点数は特定の桁数の2進数で表現できる数字に丸める表現方法で、10進数の有効桁数は関係ないんじゃ? そもそも「有効桁数を頭に入れて〜」みたいな正確さを考えて使う型じゃなくて、曖昧で良い場合に使う。 小数同士の演算は(オーバーフローを無視すれば)固定小数点数で問題なく行えるから避ける必要ない。
921 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 13:58:17.02 ID:nqlym3kL0.net] 基本は大事だから 何度でも繰り返しておくんなまし。
922 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 14:12:37.06 ID:2WayYnGs0.net] 質問ですが、 VBAからwebページのデータを取得するとき、 CreateObject("InternetExplorer.Application")とかってやりますが、 サポート終了後はどうなりますか? Edgeでできる?
923 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 14:45:20.55 ID:W96CmtFuM.net] >>906 Selenium Webdriver
924 名前:デフォルトの名無しさん (ワッチョイ 5701-5h/q) mailto:sage [2022/04/20(水) 15:54:04 ID:wuSnjbzX0.net] >>906 当分サポート終了はないけど、そうなったらできなくなる。 Edgeじゃできないから代替案を考える必要がある。 有名なのはSelenium、Chrome DevTool Protocol 前者はライブラリ(参照設定する奴)を利用者全員にインストールしてもらい、 更にブラウザとのバージョン互換性にも対応する必要がある ただし動作環境はエクセルのみっていうVBA最大のメリットを失う 後者は単独で動作するモジュールが作られてる VBA以外の言語の開発環境があるなら、 スクレイピング部分はそれで作成してVBAから呼び出すって方法もある。 自分はそうしてるよ
925 名前:デフォルトの名無しさん (ワッチョイ 5701-5h/q) mailto:sage [2022/04/20(水) 15:57:01 ID:wuSnjbzX0.net] edgeじゃできない、は CreateObject("InternetExplorer.Application") を使ってedgeを操作できないって意味ね だからseleniumとかでedgeを操作することになる
926 名前:デフォルトの名無しさん [2022/04/20(水) 16:15:46.15 ID:TUC465n/0.net] >>904 わからないなら黙っていればいいのに
927 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 16:20:42.29 ID:oDE2bDUYM.net] 固定小数点は格納するたびに四捨五入するようなもんだから誤差の蓄積は多いが 人間社会ではコレをヨシ!としているから問題ない 天文学的な計算では命中しないだろう
928 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 16:26:01.75 ID:2WayYnGs0.net] >>907 ありがとう。
929 名前:デフォルトの名無しさん (ワッチョイ b72f-mbkD) mailto:sage [2022/04/20(水) 17:45:44 ID:DAsyvBxD0.net] >>911 >固定小数点は格納するたびに四捨五入するようなもん もってる精度の桁数を超えない限りそんなことはないわ 想定する桁数内で誤差がでないから固定小数点使うんだぞ 逆に一般的なプログラム言語の浮動小数点は小数以下桁数が浮動する癖に0.1が正確じゃなかったりするから問題なんだよ
930 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 19:09:32.27 ID:cVTwugEg0.net] 0.1は0.1だよ
931 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 19:25:53.48 ID:FB1fQipzM.net] 0.1E+15 桁数は10の15乗の1京 有効数字は1桁の0.1 値は1000兆でも数値は0.1
932 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 19:43:46.55 ID:lF2OJV8Ed.net] Trunc関数で不要な桁をバッサリ逝けば良いんじゃない?
933 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 20:09:02.82 ID:2WayYnGs0.net] >>908 ありがとうございます。 iMacrosってのを試してました。 Selenium、Chrome DevTool Protocolを調べてみます。 Excelで入力ダイアログボックスを出して、入力した番号に応じて、そのページのデータを取りに行く、 ってことがやりたいです。 言語はなんでもいいですね。 できれば、Visual Studioを使いたいですが…w
934 名前:デフォルトの名無しさん [2022/04/20(水) 20:56:24.65 ID:by8HP/iQ0.net] なんだIEEE754仕様問題の話題か。 10進と16進(2進)の浮動小数差異が出るのはまぁある意味仕方がない。 固定小数点の型を持つ言語を使うか、割る前に何桁か分10のべき乗数を掛けて割った後に同じだけ割ってやって適当なところで諦めるか、というところが落としどころだろうね。 ちなみにEXCELの数式の四捨五入は本当に四捨五入だけど、VBAの四捨五入は銀行丸めだから気をつけてね。
935 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 21:03:02.83 ID:lF2OJV8Ed.net] 因みにパワクエも銀行丸め いい加減統一して欲しいわ
936 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 21:09:55.19 ID:Q+UfmON+0.net] 四捨五入はRound使わなくてもできるらしいで 知らんけど
937 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 21:17:52.87 ID:Me5L26li0.net] >>906 おれも心配してたけどオートメーションの場合は6月以降も使えるらしいな
938 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 22:25:36.74 ID:DAsyvBxD0.net] >>918 暗黙の変換(丸め)を四捨五入というのは問題があるかと
939 名前:デフォルトの名無しさん [2022/04/20(水) 23:37:18.06 ID:by8HP/iQ0.net] >>922 何故に暗黙の変換限定の話と思ったのかは分からないけど、型はなるべく明示的に変換しないとね。 その辺、VBAはOption Strict Onが使えないから大変。 もっとも、.Netでも匿名型を使うメソッドは固めてOption Strict Offに設定したモジュールに突っ込んでおく必要があるけど。
940 名前:デフォルトの名無しさん (ワッチョイ b72f-mbkD) mailto:sage [2022/04/21(木) 17:21:20 ID:pjiVvgnX0.net] ああ、そうだな。Cxxxで明示的に型変換しても銀行丸めだから 暗黙の変換に限った話ではなかったな 匿名型のくだりは何を言ってるか意味不明だがな 匿名型は名前がついてないだけで厳密に型指定されているんだが
941 名前:デフォルトの名無しさん [2022/04/21(木) 23:11:20.77 ID:VWW2tbiZ0.net] CcxxとかじゃなくてもRound使ったって普通に銀行丸のだろ
942 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 02:09:40.61 ID:M5fmJ0ze0.net] ワークシート関数のROUNDは四捨五入 VBAのRound関数は銀行丸め VB.netのMath.Roundメソッドも銀行丸め これ真面目な話テストに出るし実務でもトラブルの元だからちゃんと覚えて使い分けろよ
943 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 08:50:16.15 ID:Uci4ALKRM.net] そもそも四捨五入や銀行丸めは暗黙の(型)変換でも何でもないけどな
944 名前:デフォルトの名無しさん [2022/04/22(金) 12:17:14.78 ID:6grDaRhxp.net] VBAの四捨五入は型変換でやるもんだと思ってるんだろ
945 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 12:26:05.45 ID:Sb+Ase1ga.net] VBAで全ての物事を解決したいと考えています。 まずはOCRからやっていきたいです。 次に、人工知能とビッグデータに関する VBA のライブラリを充実させたいです。 それができたら、VBA で、callbyName を使って、疑似マルチスレッド化してサーバーOSを作り、 メタバースを作りたいです。 どうしたらいいですか?
946 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 12:56:56.20 ID:JqjwtZFMr.net] 沢山金がある →MSに依頼する 少しだけ金がある →スクールにでも通う 金が無い →自力で調べろ
947 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 13:46:25.69 ID:qHWul8Ex0.net] >>929 もう休み始まったのか羨ましいな
948 名前:デフォルトの名無しさん [2022/04/23(土) 07:32:43.48 ID:Q/JWtTUi0.net] VBAのコードをパスワードではなく AccessのようにMDEまたはACCDE化して隠蔽できないのかね?
949 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 13:58:03.66 ID:yVxZarCbp.net] あったとして、ワークシートが見れない
950 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 21:14:41.84 ID:QWCWIiV00.net] VB6.0の質問となります。 ご存じのかた、ご教授お願い致します。 CommandButton1のDownPictureプロパティ(ボタンを押すと指定したピクチャが表示される) で設定するピクチャファイルをボタンを押すたびにランダムのピクチャを 表示する方法はありますでしょうか? ピクチャを固定でなく、可変でいろいろなピクチャを表示することはできるのでしょうか? 宜しくお願い致します。
951 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 21:26:02.35 ID:Owv7WUis0.net] >>934 可能だけどスレチ VBとVBAは似てるけどまったく違う言語なのよ VB専門のスレで聞くか、できるという情報を手がかりにぐぐって
952 名前:934 (ワッチョイ 2590-WvSx) mailto:sage [2022/04/23(土) 21:56:53 ID:QWCWIiV00.net] >>935 ありがとうございます。 VBスレで聞いてみます。
953 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 03:02:47.88 ID:dQQkhpXr0.net] なんで.netじゃなくてVB6.0?
954 名前:デフォルトの名無しさん (ワッチョイ a868-g9NX) mailto:sage [2022/04/24(日) 07:12:27 ID:V025dUWC0.net] 聞いてやるな
955 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 08:27:40.38 ID:rcB2xidb0.net] 保守案件じゃねーの? それより > VBとVBAは似てるけどまったく違う言語なのよ のほうが気になるわ
956 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 08:33:51.29 ID:V025dUWC0.net] VB6とVBAは割りと似てるよ .netは別物だけど
957 名前:デフォルトの名無しさん [2022/04/24(日) 09:47:15.58 ID:K6J8xSzg0.net] VB.NetとVBAが違うと言いたかったんじゃないか? VBAとVB6.0なんてガワ以外大して変わらんだろ
958 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 11:05:42.56 ID:JjYc30D0a.net] それなら全くスレチって言うわけでもないだろうしVB6以前スレに誘導してもあっちは過疎ってるから>>935 の真意がわからん 古代VBプログラマ質問スレ(Ver.6.0 まで) part65 [転載禁止]c2ch.net https://mevius.5ch.net/test/read.cgi/tech/1440930335/
959 名前:デフォルトの名無しさん [2022/04/24(日) 11:34:19.84 ID:3PCmdv6z0.net] >>934 配列かコレクションに取りうる画像ファイルのパス全部突っ込んどいて 毎回Rnd関数でランダム添え字作成してDownPictureへ代入する処理を Timerイベントで定期的に起こせばいいんじゃね
960 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 12:34:51.24 ID:/i/HSWcF0.net] >934の方法で出来るね vb.netはCommandButtonというコントロールがないからButtonコントロールで処理することになるけど
961 名前:934 mailto:sage [2022/04/24(日) 14:05:21.06 ID:sOMp0pcl0.net] >>943 教えていただき、ありがとうございます! この方法でできました! 助かりました! >>944 .netは方法が違うんですね。 ありがとうございます。
962 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 14:18:48.53 ID:H35nhyzua.net] VBAに聞けば、VB6.0の問題が解決すると思ってる魂胆がむかつく
963 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 14:19:17.64 ID:H35nhyzua.net] 次の質問どーぞー!
964 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 14:49:27.80 ID:SWKX3wPR0.net] >>933 なんでだよ Accessだってオブジェクトはそのまんまだぞ Codeを隠すってだけだ まあ、Excelでそんなことしたら阿鼻叫喚の地獄絵図がそこら中で起きるだけだろうが
965 名前:デフォルトの名無しさん [2022/04/24(日) 15:00:54.37 ID:awQxKQ/u0.net] >>945 結局、こういう馬鹿は馬鹿だからこんな書き込みをすることになるんだよな
966 名前:デフォルトの名無しさん (ワッチョイ a868-g9NX) mailto:sage [2022/04/24(日) 19:19:11 ID:V025dUWC0.net] >>949 そうそう、まさに>>949 みたいな感じで
967 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 20:32:26.94 ID:4thwl0KN0.net] VBAのコードを隠すとかw いやらしいコードとか胸アツ
968 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 21:56:52.40 ID:HnHBh+4U0.net] ソースを見たらBase64が書き込まれてるとかかw
969 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 22:10:43.02 ID:qlayZYg40.net] 変数や関数名を1文字にして、インデントをなくし、マルチステートメントを使い、GoToで飛ばしまくる これぐらいやっとけばニワカには暗号化されてるのと同じに見えるよ 組み込み関数に型文字を付けたり、行番号とか書いとけばさらに混乱するんじゃない?
970 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 22:11:47.35 ID:qlayZYg40.net] 代入のLetを省略せずに書くとか
971 名前:デフォルトの名無しさん mailto:sage [2022/04/24(日) 22:21:56.70 ID:qlayZYg40.net] 例えばこういうのは初心者だとVBAのコードだと認識できない Option Explicit Sub a() 10 Dim i%, s$: For i% = 0# To 15 Step 1&: Let s$ = Hex$(i%): Debug.Print s$, 20 Next i%: GoTo Next_i: Let i% = 999# 30 Next_i: Debug.Print End Sub
972 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 16:32:49.44 ID:mIKR8D/k0.net] もっと初心者だとこういうもんだと覚えて、ウルトラコード量産して 逆にそれがウケてそこら中から引っ張りだこに成る可能性も
973 名前:デフォルトの名無しさん [2022/04/25(月) 18:25:34.65 ID:d4FCGwAUa.net] あとどこからも呼ばれないコードを周囲に書いとくとか
974 名前:デフォルトの名無しさん mailto:sage [2022/04/25(月) 22:42:22.33 ID:LL5g/Itw0.net] 難読化してくれるサイトもあるようだがAIでも駆使してんのかよ
975 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 13:34:27.36 ID:h7wIW8Sj0.net] VBを学んでみたいのだけど、専用アプリをインストールすれば良いのですか?
976 名前:デフォルトの名無しさん mailto:sage [2022/04/26(火) 13:39:28.14 ID:4e+J3DaO0.net] それを聞くようでは勉強進まないと思うぞ VBAなら、Excelのオプションから設定しよう