Access の VBA に関する質問スレです
質問テンプレ(雛形)は用意しませんが、OSとAccessのバージョンぐらいは必ず書きましょう
前回のスレッド
Access VBA 質問スレ Part1
https://mevius.5ch.net/test/read.cgi/tech/1328536426/
探検
Access VBA 質問スレ Part2
1デフォルトの名無しさん
2018/12/12(水) 22:14:39.18ID:GF6Qf3Td525デフォルトの名無しさん
2022/06/22(水) 12:36:20.21ID:N/5JiATv なんだ
Accessでテーブル化したい、のでは無いのか?
何やりたいのか分からんな
Accessでテーブル化したい、のでは無いのか?
何やりたいのか分からんな
526デフォルトの名無しさん
2022/06/22(水) 15:16:59.53ID:Z6mZqai9 「AccessVBAからexcelファイルのセル参照ってどうやるの?」ていう質問でしょ
527デフォルトの名無しさん
2022/06/22(水) 20:19:24.91ID:rLKMJdnt 質問には答えられるけど
答えるとまた次の質問が来るのが予測出来るからまんどくせ
答えるとまた次の質問が来るのが予測出来るからまんどくせ
528デフォルトの名無しさん
2022/06/23(木) 06:46:56.49ID:nErcbU9U >>527
スレに来ないと良いよ
スレに来ないと良いよ
529デフォルトの名無しさん
2022/06/23(木) 07:36:49.86ID:xe+L83Np530デフォルトの名無しさん
2022/06/23(木) 12:13:27.06ID:jwJvRDT9 ACCESS VBA EXCEL CELLでクグルと沢山出て来ますね。
ACCESSからEXCEL開いて操作できると便利です、頑張ってください。
ACCESSからEXCEL開いて操作できると便利です、頑張ってください。
531デフォルトの名無しさん
2022/06/23(木) 12:56:15.59ID:uoofWh9e >>529
CreateObject("Excel.Application")でエクセルを操作できるようにする
対象とするシートからa3とb4とw30の値を取得して変数 X Y Z に格納する
変数 X Y Z の値をAccess のテーブルに追加する
この二つの処理を全てのシートにループで行う
釣りが終わったExcel オブジェクトを閉じる
Access のオブジェクトの閉じる
これでいけるんじゃね?
CreateObject("Excel.Application")でエクセルを操作できるようにする
対象とするシートからa3とb4とw30の値を取得して変数 X Y Z に格納する
変数 X Y Z の値をAccess のテーブルに追加する
この二つの処理を全てのシートにループで行う
釣りが終わったExcel オブジェクトを閉じる
Access のオブジェクトの閉じる
これでいけるんじゃね?
532デフォルトの名無しさん
2022/06/24(金) 06:07:38.19ID:X+tgL9yK533デフォルトの名無しさん
2022/06/26(日) 13:37:45.11ID:DTfGvOZF534デフォルトの名無しさん
2022/06/26(日) 22:59:47.94ID:Ter0iV/V たびたびすみません
ばしっとフォルダ内のファイル名を取得することはできました
>CreateObject("Excel.Application")でエクセルを操作できるようにする
これの意味がようやくわかりました ありがとうございます
C:\Users\sanae\Desktop\vba\Book1.xlsx というExcelファイルのa3を変数に入れようとしているのですが
ぐぐったところファイルパスをつける書きかたが参考にできるページがみあたらず詰まっています
(このあたりにファイルパスとかシートとかを指定して)range(3.1) みたいなやり方かなあなんて思っているのですがどれもエラーになっちゃいました
参考になるページでもご教示いただければ幸いでございます
ばしっとフォルダ内のファイル名を取得することはできました
>CreateObject("Excel.Application")でエクセルを操作できるようにする
これの意味がようやくわかりました ありがとうございます
C:\Users\sanae\Desktop\vba\Book1.xlsx というExcelファイルのa3を変数に入れようとしているのですが
ぐぐったところファイルパスをつける書きかたが参考にできるページがみあたらず詰まっています
(このあたりにファイルパスとかシートとかを指定して)range(3.1) みたいなやり方かなあなんて思っているのですがどれもエラーになっちゃいました
参考になるページでもご教示いただければ幸いでございます
535デフォルトの名無しさん
2022/06/27(月) 00:21:56.25ID:LR8Jvthl >>534
http://officetanaka.net/excel/vba/file/file01.htm
を参考にしてください。
Sub Sample1
set mybook=myexel.Workbooks.Open "C:\Users\sanae\Desktop\vba\Book1.xlsx"
x=mybook.worksheets(1).range("A 3")
X の値をテーブルに書き込む
End Sub
myexelはクリエイトオブジェクトで作ったエクセルオブジェクトね
あと変数は適当に定義しておいてね。
http://officetanaka.net/excel/vba/file/file01.htm
を参考にしてください。
Sub Sample1
set mybook=myexel.Workbooks.Open "C:\Users\sanae\Desktop\vba\Book1.xlsx"
x=mybook.worksheets(1).range("A 3")
X の値をテーブルに書き込む
End Sub
myexelはクリエイトオブジェクトで作ったエクセルオブジェクトね
あと変数は適当に定義しておいてね。
536デフォルトの名無しさん
2022/06/27(月) 01:42:38.20ID:Yed1CrTu537デフォルトの名無しさん
2022/06/27(月) 01:45:22.88ID:Yed1CrTu すみませんCTRL+エンターで送信になってしまいました
・フォルダを指定してファイル名を取得
・指定したシートから変数XYZに特定のセルの値を取得
・XYZの値をテーブルに追加
超進みました
後は指定したシート名を持たないファイルに遭遇した時にどんなエラーになるのかが気になりますので
近々時間みつけて頑張ろうと思います
ありがとうございました!超ハッピー!
・フォルダを指定してファイル名を取得
・指定したシートから変数XYZに特定のセルの値を取得
・XYZの値をテーブルに追加
超進みました
後は指定したシート名を持たないファイルに遭遇した時にどんなエラーになるのかが気になりますので
近々時間みつけて頑張ろうと思います
ありがとうございました!超ハッピー!
538デフォルトの名無しさん
2022/06/27(月) 01:59:55.53ID:YAQt7RYR 馬鹿は二度と来るなよ
539デフォルトの名無しさん
2022/06/27(月) 08:41:44.29ID:yeeW9wqV VBAでやらなくてもテーブルimportで出来るやろ
無駄な努力だな
無駄な努力だな
540デフォルトの名無しさん
2022/06/27(月) 11:56:31.55ID:LR8Jvthl541デフォルトの名無しさん
2022/06/27(月) 15:59:24.18ID:jKYPD+Yx 対象のExcelファイルが固定なのか、頻繁に入れ替わるかどうかにもよるわな
542デフォルトの名無しさん
2022/06/27(月) 20:22:09.19ID:UdQiWAN3 どなたか教えてください。
売掛金消し込みのマクロを作成しています。VBAでソルバーを自動化したいと思っています。
目的セル、制約条件の参照セルの開始行が40行ごとに下がっていき、指定値は数値ではなく、セルを指定したいです。
とりあえず、全部の変数をvariant型にしてますが、なかなか上手くいきません。
売掛金消し込みのマクロを作成しています。VBAでソルバーを自動化したいと思っています。
目的セル、制約条件の参照セルの開始行が40行ごとに下がっていき、指定値は数値ではなく、セルを指定したいです。
とりあえず、全部の変数をvariant型にしてますが、なかなか上手くいきません。
543デフォルトの名無しさん
2022/06/27(月) 20:42:56.65ID:NFVjaUBh なんでAccessVBAスレにまで書いてるんだよ
544デフォルトの名無しさん
2022/06/28(火) 12:01:23.56ID:W8L8uteA こんな奴が作るプログラムで金勘定とか笑えるわ
己を知らないって馬鹿の特徴なんだよな
己を知らないって馬鹿の特徴なんだよな
545デフォルトの名無しさん
2022/06/28(火) 12:08:16.40ID:S7aFTH1N >>542
Access VBAスレでExcelの質問するなよ
Access VBAスレでExcelの質問するなよ
546デフォルトの名無しさん
2022/06/28(火) 12:53:23.92ID:illrnTHm EXCELで記録したVBAをACCESSで実行するとEXCELはXlmxにしなくても良いからじゃないの?
ソルバーは使い方わからんのでなんにも言えなくてスマン。
ソルバーは使い方わからんのでなんにも言えなくてスマン。
547デフォルトの名無しさん
2022/06/28(火) 13:14:48.17ID:v0i+TmEN >>546
Excel VBAスレみればなにがあったのか分かるよ
Excel VBAスレみればなにがあったのか分かるよ
548デフォルトの名無しさん
2022/06/28(火) 21:08:59.28ID:i28fB/zi 昨日アホな質問した541です。
accessスレにexcel VBAについて投稿してしまい、すみませんでした。
VBA初心者なので、よくわからずに投稿してしまいました。
accessスレにexcel VBAについて投稿してしまい、すみませんでした。
VBA初心者なので、よくわからずに投稿してしまいました。
549デフォルトの名無しさん
2022/06/29(水) 10:01:41.27ID:Es0nfTu8 初心者を言い訳にする香具師は同じ失敗を繰り返す
550デフォルトの名無しさん
2022/06/29(水) 12:18:55.14ID:C7zOwXa/ 狭量にすぎる
551デフォルトの名無しさん
2022/06/29(水) 12:31:17.45ID:WL8L6KaP スレを間違ったことではなくマルチが問題なのだがな
552デフォルトの名無しさん
2022/06/29(水) 13:27:42.53ID:tPok425v553デフォルトの名無しさん
2022/06/29(水) 13:50:40.09ID:Es0nfTu8 x VBA初心者
o 5ch初心者
o パソコン初心者
o コミュ障入門者(上級)
o 5ch初心者
o パソコン初心者
o コミュ障入門者(上級)
554516
2022/06/30(木) 01:00:46.93ID:1OP/W/CA DoCmd.OpenReport "レポート名", acViewPreview
DoCmd.PrintOut acPrintAll, , , acHigh, 枚数
新規レポートにラベルを貼っただけものだと希望どおりの枚数が印刷される.
しかし,別のレポートだと常に1枚しか印刷されない.
ネットでも同じ報告を確認した.バグ説もある.
皆さんはどうですか?やっぱりバグですかね?
DoCmd.PrintOut acPrintAll, , , acHigh, 枚数
新規レポートにラベルを貼っただけものだと希望どおりの枚数が印刷される.
しかし,別のレポートだと常に1枚しか印刷されない.
ネットでも同じ報告を確認した.バグ説もある.
皆さんはどうですか?やっぱりバグですかね?
555516
2022/06/30(木) 16:01:17.27ID:1OP/W/CA 解決した.
デコンパイルとコンパクトしたらいつの間にか設定した枚数が印刷されるようになった.
accessはマジで面倒くさいなあ.
デコンパイルとコンパクトの待ち時間をを返して欲しいよ
デコンパイルとコンパクトしたらいつの間にか設定した枚数が印刷されるようになった.
accessはマジで面倒くさいなあ.
デコンパイルとコンパクトの待ち時間をを返して欲しいよ
556デフォルトの名無しさん
2022/06/30(木) 19:00:33.50ID:PX9/MxY9 デコンパイル、知りませんでした。
557デフォルトの名無しさん
2022/06/30(木) 20:22:38.17ID:1+oYjPxt デコンパイル、昔は割と鉄板の解決方法だったんだけどね
それでだめなら新規作成して全モジュールインポートとかもあったな
最近は必要性が減ったけど、まだたまにはあるんだな
それでだめなら新規作成して全モジュールインポートとかもあったな
最近は必要性が減ったけど、まだたまにはあるんだな
558516
2022/06/30(木) 22:53:16.59ID:1OP/W/CA コンパクトだけでも良かったのかも知れないが,習慣で両方やることにしている
ついいましがたも.Docmd.OpenReportのOpenArgsがレポートに渡らなくて困っていたが,コンパクトをしたら作動した.
終了時にコンパクトするオプションがあるくらいだから頻繁にやるべきなんだろうね.
コード書いているときは非常に頻繁に破損するからね.
ついいましがたも.Docmd.OpenReportのOpenArgsがレポートに渡らなくて困っていたが,コンパクトをしたら作動した.
終了時にコンパクトするオプションがあるくらいだから頻繁にやるべきなんだろうね.
コード書いているときは非常に頻繁に破損するからね.
559デフォルトの名無しさん
2022/06/30(木) 23:46:30.14ID:1+oYjPxt あれはデータ領域を圧縮するのが主で、コード部分にはあまり影響しなかった気がするが
最近のアクセスでコードが破損するのはだいぶ減ったと思うが
VBEからコンパイルするだけで解決してたんじゃないか?
最近のアクセスでコードが破損するのはだいぶ減ったと思うが
VBEからコンパイルするだけで解決してたんじゃないか?
560516
2022/07/01(金) 00:40:02.55ID:SILFs/Ha くわしいことはわからないが,挙動不審が治ることがあるんだよねえ
とにかく,試行錯誤していると必ずと言っていいほど,壊れるよねえ.
メモリーが不足していますとか出始めると,その日のうちに全フォーム消失とか起こるからなあ.
とにかく,試行錯誤していると必ずと言っていいほど,壊れるよねえ.
メモリーが不足していますとか出始めると,その日のうちに全フォーム消失とか起こるからなあ.
561デフォルトの名無しさん
2022/07/01(金) 10:45:11.72ID:x9gnk4T5 試行錯誤の過程のほとんどを貯め込むからな 設定で「終了時に最適化」で、都度終了を心掛けるか
大幅な改修の度にコンパイルのクセを付けるか ファイルサイズに気を付けて、「こんなサイズのはずは無い」ってな時は要注意
で、それは、お道具の使い方が雑、間違ってるってだけで、すぐAccessのせいにする連中はお里が知れる ってこと
大幅な改修の度にコンパイルのクセを付けるか ファイルサイズに気を付けて、「こんなサイズのはずは無い」ってな時は要注意
で、それは、お道具の使い方が雑、間違ってるってだけで、すぐAccessのせいにする連中はお里が知れる ってこと
562516
2022/07/07(木) 15:33:38.95ID:9tJXVGoG 下のコードでmdbのディレクトリが表示されると思いきや、
ディレクトリ Documents
フルパス C:\Users\MyName\Documents
が表示された。vbsならscriptの存在するディレクトリだからmdbの存在するディレクトリが表示されると思ったのに、違う。
このことを説明してある資料ありますかね?
Sub test()
Dim fso
Dim objfolder
Set fso = CreateObject("Scripting.FileSystemObject")
Set objfolder = fso.GetFolder(".")
Debug.Print "ディレクトリ", objfolder.Name
Debug.Print "フルパス", objfolder.Path
End Sub
ディレクトリ Documents
フルパス C:\Users\MyName\Documents
が表示された。vbsならscriptの存在するディレクトリだからmdbの存在するディレクトリが表示されると思ったのに、違う。
このことを説明してある資料ありますかね?
Sub test()
Dim fso
Dim objfolder
Set fso = CreateObject("Scripting.FileSystemObject")
Set objfolder = fso.GetFolder(".")
Debug.Print "ディレクトリ", objfolder.Name
Debug.Print "フルパス", objfolder.Path
End Sub
563デフォルトの名無しさん
2022/07/07(木) 16:12:50.20ID:N4ENiOaQ564デフォルトの名無しさん
2022/07/07(木) 19:57:05.70ID:V/fQnZ1U そもそも、
>vbsならscriptの存在するディレクトリ
が間違ってる気がするが
カレントディレクトリの概念って最近は説明されてるの見ないなぁ
GetFolder(".")が返してるのはカレントディレクトリ(からの相対パスで自分自身)
カレントディレクトリはACCESS.EXEの場所や.MDBファイルの場所とは別に存在する
まあMDB開くときはそこをカレントにする場合が多いけどな
つねに一致してるとは限らん
>vbsならscriptの存在するディレクトリ
が間違ってる気がするが
カレントディレクトリの概念って最近は説明されてるの見ないなぁ
GetFolder(".")が返してるのはカレントディレクトリ(からの相対パスで自分自身)
カレントディレクトリはACCESS.EXEの場所や.MDBファイルの場所とは別に存在する
まあMDB開くときはそこをカレントにする場合が多いけどな
つねに一致してるとは限らん
565516
2022/07/07(木) 20:26:42.06ID:9tJXVGoG >>564
> そもそも、
> >vbsならscriptの存在するディレクトリ
> が間違ってる気がするが
VBSで稼働していたスクリプトをVBAに移植している際に気づいたので、正しいと思います。
スクリプトを任意のフォルダにコピーしてそのフォルダ内のファイルを一括処理するのに使っていましたので。
> そもそも、
> >vbsならscriptの存在するディレクトリ
> が間違ってる気がするが
VBSで稼働していたスクリプトをVBAに移植している際に気づいたので、正しいと思います。
スクリプトを任意のフォルダにコピーしてそのフォルダ内のファイルを一括処理するのに使っていましたので。
566デフォルトの名無しさん
2022/07/07(木) 20:31:06.22ID:ty1oWU7C chdirで変えられちゃうけど
567516
2022/07/07(木) 20:55:49.31ID:9tJXVGoG ユーザはおいら1人だからいいのです。
568デフォルトの名無しさん
2022/07/07(木) 21:30:15.27ID:V/fQnZ1U いやだから、scriptの存在するディレクトリじゃなくて、
カレントディレクトリが表示されてるって話なんだがな
たまたまそれが同じだっただけだ
ここ理解しないと思ったディレクトリが表示されない理由が理解できないぞ
カレントディレクトリが表示されてるって話なんだがな
たまたまそれが同じだっただけだ
ここ理解しないと思ったディレクトリが表示されない理由が理解できないぞ
569デフォルトの名無しさん
2022/07/07(木) 22:24:24.15ID:rKn8i4wF 馬鹿に何を言っても無駄な例だぞ
570デフォルトの名無しさん
2022/07/08(金) 10:33:00.73ID:aHYxM19P571デフォルトの名無しさん
2022/07/08(金) 12:10:02.96ID:/znuHP85 カレントディレクトリみたいな、あやふやなものを使ってはいけない。
これが使えるのは、絶対に変化しない場合だけ
起動時に、特定のフォルダを指定するとか、
あらかじめ定数などに保存しておく
これが使えるのは、絶対に変化しない場合だけ
起動時に、特定のフォルダを指定するとか、
あらかじめ定数などに保存しておく
572デフォルトの名無しさん
2022/07/08(金) 12:16:33.93ID:/znuHP85 例えばデスクトップに、以下のショートカットを作ると、
WSL2 で、Ubuntu 18.04 を起動して、
その /home/ユーザー名/test ディレクトリを、VSCode で開く
リンク先
C:\Windows\System32\wsl.exe code .
作業フォルダ
\\wsl$\Ubuntu-18.04\home\ユーザー名\test
WSL2 で、Ubuntu 18.04 を起動して、
その /home/ユーザー名/test ディレクトリを、VSCode で開く
リンク先
C:\Windows\System32\wsl.exe code .
作業フォルダ
\\wsl$\Ubuntu-18.04\home\ユーザー名\test
573デフォルトの名無しさん
2022/07/08(金) 12:30:53.39ID:PreZKXp3 もはやAccess VBAとは関係ない話になってるし、元質問者は聞く耳持たないみたいだから
これ以上続ける意味無いよ
これ以上続ける意味無いよ
574デフォルトの名無しさん
2022/07/11(月) 11:04:56.16ID:1W23UOpt >>562
fso使ってるんだから当たり前
fso使ってるんだから当たり前
575デフォルトの名無しさん
2022/07/12(火) 17:20:09.84ID:xDQ7ywi9 >>574
なぜ「fsoを使うと」なにが、「当たり前」なんだい?
なぜ「fsoを使うと」なにが、「当たり前」なんだい?
576デフォルトの名無しさん
2022/07/13(水) 18:08:17.37ID:sooqvjiy 7月12日のWindows Updateを実施した端末で軒並み「要求されたタイプ ライブラリまたはウィザードは VBA プロジェクトではありません。」
というエラーが出てAccessで作ったものが起動できない症状が出てるんだけど、何か知ってる?
ちなみにAccess Runtimeを再インストールすると直る。修復ではダメ。
というエラーが出てAccessで作ったものが起動できない症状が出てるんだけど、何か知ってる?
ちなみにAccess Runtimeを再インストールすると直る。修復ではダメ。
577デフォルトの名無しさん
2022/07/13(水) 18:15:29.57ID:sooqvjiy >>576 書き忘れたけど手元で問題が発生しているのはAccess Runtime 2013 32bitの端末。
OSはWin8.1とWin10の両方で発生してる。
OSはWin8.1とWin10の両方で発生してる。
578デフォルトの名無しさん
2022/07/13(水) 19:12:40.99ID:PtV2v+lq うちの環境とほぼ同じですね、まだ発生してないけど明日あたり起きるのかな。
runtimeの入れ直しですね、了解っす。
runtimeの入れ直しですね、了解っす。
579デフォルトの名無しさん
2022/07/14(木) 09:57:45.69ID:gGJjrJSy >>576
特定した。
KB5002121を入れると症状が発生する。
Access Runtimeを再インストールしても再度Windows Updateを実施すると元に戻るから
KB5002121をブロックしないとダメだ。
特定した。
KB5002121を入れると症状が発生する。
Access Runtimeを再インストールしても再度Windows Updateを実施すると元に戻るから
KB5002121をブロックしないとダメだ。
58044
2022/07/14(木) 12:52:21.90ID:Fq9OF9ol 迷惑な話ですねえ。
MSのプログラマーがアホなのは今に始まったことじゃないけど
MSのプログラマーがアホなのは今に始まったことじゃないけど
581デフォルトの名無しさん
2022/07/14(木) 18:41:39.80ID:Zi9qyvS+ 昔EXCELのVBAで似たような話が合った気がするな
その時はテンポラリディレクトリの掃除したら起動するようになったはずだから
いちど試してみては
その時はテンポラリディレクトリの掃除したら起動するようになったはずだから
いちど試してみては
582デフォルトの名無しさん
2022/07/18(月) 12:31:42.55ID:1omE+gQa MSは自社製品のテスト駆動開発すらしてない
テストが面倒になるとサポート打ち切り
テストが面倒になるとサポート打ち切り
583デフォルトの名無しさん
2022/07/18(月) 13:02:03.33ID:dNd6yRIh >>582
それソースあるの?
それソースあるの?
584デフォルトの名無しさん
2022/07/19(火) 13:18:07.18ID:4mWHj4S5 2022年7月パッチで「Microsoft Access」に問題、バージョンが異なるとファイルが開けない
https://forest.watch.impress.co.jp/docs/news/1425748.html
>異なるバージョンの「Microsoft Access」で作成されたデータベースファイル(ACCDE/MDE)を開こうとすると、「要求されたタイプ ライブラリまたはウィザードは VBA プロジェクトではありません」というエラーが発生する場合がある
https://forest.watch.impress.co.jp/docs/news/1425748.html
>異なるバージョンの「Microsoft Access」で作成されたデータベースファイル(ACCDE/MDE)を開こうとすると、「要求されたタイプ ライブラリまたはウィザードは VBA プロジェクトではありません」というエラーが発生する場合がある
585デフォルトの名無しさん
2022/07/20(水) 10:36:39.60ID:Rwr2SDqT Formを変数にSetするとき下の二つのやり方のどちらが速いか試したら、結構まちまちなんですよね。
後者はEarly Bindingだと思うんだけど、ループさせると前者が速いことも結構あって不思議だ。
だれかこのあたりの事情をご存じの方いますか?
Dim F As Form
Set F = Forms!FormName
Dim F As Form_FormName
Set F = Forms!FormName
後者はEarly Bindingだと思うんだけど、ループさせると前者が速いことも結構あって不思議だ。
だれかこのあたりの事情をご存じの方いますか?
Dim F As Form
Set F = Forms!FormName
Dim F As Form_FormName
Set F = Forms!FormName
586デフォルトの名無しさん
2022/07/20(水) 11:16:41.39ID:2HHkZJi9 >>584
runtime版でそれ出たな、試行錯誤でruntime2016からruntime365に変えたら動いたw事がある。
runtime版でそれ出たな、試行錯誤でruntime2016からruntime365に変えたら動いたw事がある。
587デフォルトの名無しさん
2022/07/20(水) 15:41:40.93ID:qJwz0nM8 runtimeは糞
588デフォルトの名無しさん
2022/07/20(水) 18:29:58.22ID:BaO5YoZA >>585
あってるかどうかは知らんが
!は実行時に列挙する気がするんだが
後者は型チェックと変換が入るから後者のほうが遅いと思う
前者も入るかもしれんが、そうなるとForm型とForm_FormName型でどっちのキャストが早いかで
結局やっぱり後者が遅い気がする
どっちにしたってFは型指定されているので事前バインドだが、
それが差に出るのはFのメンバーを使うときだぜ
まあ、なんにしても誤差レベルだと思うが
あってるかどうかは知らんが
!は実行時に列挙する気がするんだが
後者は型チェックと変換が入るから後者のほうが遅いと思う
前者も入るかもしれんが、そうなるとForm型とForm_FormName型でどっちのキャストが早いかで
結局やっぱり後者が遅い気がする
どっちにしたってFは型指定されているので事前バインドだが、
それが差に出るのはFのメンバーを使うときだぜ
まあ、なんにしても誤差レベルだと思うが
589デフォルトの名無しさん
2022/10/28(金) 11:06:17.52ID:L4jXkRvB PC画面のスクショを撮って、印刷させたいのですが
とっかかりすら分からない初心者です
検索しても該当サイトはなかったので
よろしければご教授願いたいです
とっかかりすら分からない初心者です
検索しても該当サイトはなかったので
よろしければご教授願いたいです
590デフォルトの名無しさん
2022/10/28(金) 12:19:16.61ID:QXDDHW1b591デフォルトの名無しさん
2022/10/28(金) 12:33:34.88ID:L4jXkRvB >>590
はい、ExcelかAccessでとのことで、
今後の勉強含めAccessに挑んでいます。
不特定多数が使用する環境で
(リテラシーが低い人も混在)
ボタン一つで全画面スクショ印刷と
アクティブウィンドウのみスクショ印刷
の2通りできるようにしたいです
(スクショしたデータは印刷後削除される仕様にしたい)
今のところ全画面スクショはできたのですが
アクティブウィンドウと
その後の印刷と削除で、つまづいてます。
ド初心者なので、見当違いな質問をしていたら
申し訳ありません
はい、ExcelかAccessでとのことで、
今後の勉強含めAccessに挑んでいます。
不特定多数が使用する環境で
(リテラシーが低い人も混在)
ボタン一つで全画面スクショ印刷と
アクティブウィンドウのみスクショ印刷
の2通りできるようにしたいです
(スクショしたデータは印刷後削除される仕様にしたい)
今のところ全画面スクショはできたのですが
アクティブウィンドウと
その後の印刷と削除で、つまづいてます。
ド初心者なので、見当違いな質問をしていたら
申し訳ありません
592デフォルトの名無しさん
2022/10/28(金) 12:48:59.54ID:14o/00kf API経由で[PrtSc](全画面)、[Alt]+[PrtSc](アクティブウィンドウのみ)を押せばクリップボードに画面キャプチャができるだろうから
それをレポート上のImageに突っ込んで印刷すればいいんじゃないのかな?
試してないから実際にできるかは知らんけど
それをレポート上のImageに突っ込んで印刷すればいいんじゃないのかな?
試してないから実際にできるかは知らんけど
593デフォルトの名無しさん
2022/10/28(金) 18:23:03.59ID:ivdM6iIS594デフォルトの名無しさん
2022/12/09(金) 21:17:19.25ID:XI7rGRQs サーバーから検索したいのに上手くいかない
どこか修正するとこありますか?
Private Sub CommandButton1_Click()
Const BASE_PATH = "\\L\設計\図面"Dim myPath As String, myName As String
Dim FSO As Object, oFolder As Object, oSubFolder As Object, oFile As Object
On Error Resume Next
If TextBox1.Value = ""Then Exit Sub
ListBox1.Clear
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = FSO.GetFolder(BASE_PATH)
For Each oSubFolder In oFolder.SubFolders
For Each oFile In oSubFolder.Files
If LCase(oFile.Name) Like LCase(TextBox1.Value) &"*.pdf"Then
Debug.Print oFile.Path
myPath = oFile.ParentFolder &"\"myName = oFile.Name
ListBox1.AddItem myName
ListBox1.List(ListBox1.ListCount - 1, 1) = myPath
End If
Next
Next
Set FSO = Nothing
End Sub
どこか修正するとこありますか?
Private Sub CommandButton1_Click()
Const BASE_PATH = "\\L\設計\図面"Dim myPath As String, myName As String
Dim FSO As Object, oFolder As Object, oSubFolder As Object, oFile As Object
On Error Resume Next
If TextBox1.Value = ""Then Exit Sub
ListBox1.Clear
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = FSO.GetFolder(BASE_PATH)
For Each oSubFolder In oFolder.SubFolders
For Each oFile In oSubFolder.Files
If LCase(oFile.Name) Like LCase(TextBox1.Value) &"*.pdf"Then
Debug.Print oFile.Path
myPath = oFile.ParentFolder &"\"myName = oFile.Name
ListBox1.AddItem myName
ListBox1.List(ListBox1.ListCount - 1, 1) = myPath
End If
Next
Next
Set FSO = Nothing
End Sub
595デフォルトの名無しさん
2022/12/10(土) 17:10:55.98ID:HwePKFIg 何がどううまくいかないんだ?
On Error Resume Next外して、エラー内容かけ
On Error Resume Next外して、エラー内容かけ
596デフォルトの名無しさん
2022/12/11(日) 02:53:35.00ID:08xatqWx 知らんけど、コマンドプロンプトで取得した方が速いと思うぞ。
597デフォルトの名無しさん
2022/12/11(日) 14:47:06.06ID:BK2dpDEr ネットワークだとビックリするほど遅いよね
598デフォルトの名無しさん
2022/12/21(水) 12:29:44.27ID:29nQbkr4 表形式にしたフォーム上の一行一行に対して、そのレコードのID.pdfが指定のフォルダにあれば○、無ければ空白って文字を連結したテキストボックスに入れたいんだけど。
Dir使って判定させるところまでは出来たけど、vbaを実行させるタイミングの問題なのかな?
詳細セクションの描画時選んだら代入出来ませんって出た。
試しに詳細セクションダブルクリックだと該当レコードだけは入ったけど。。
一括で全レコード対象にする方法あるんでしょうか。。?
Dir使って判定させるところまでは出来たけど、vbaを実行させるタイミングの問題なのかな?
詳細セクションの描画時選んだら代入出来ませんって出た。
試しに詳細セクションダブルクリックだと該当レコードだけは入ったけど。。
一括で全レコード対象にする方法あるんでしょうか。。?
599デフォルトの名無しさん
2022/12/21(水) 13:19:20.60ID:oTvIdtcL データシートビューのソースの段階でクエリ使ってる?
〇や(空白)を入力するフィールドは確保されてる?
元のソースにpdfファイルがあるか無いかを画面上で比較しながらひとつずつ入力するつもり?
仮のテーブル作ってフォルダ内のpdfのファイル名をDir使ってそのテーブルに代入すれば
簡単に元のソースにも反映出来ると思うけど どうしてもデータシートビューで比較しながら入れたい?
pdfが入ってるフォルダ内がしょっちゅう追加・変更・削除がある場合だとしても、仮のテーブル使っとけば
都度最新の状況での比較が可能だと思えるし、不足してるからpdf作らなきゃ、の指針にも成るような気がする
でも、元のソースに〇のフィールド作っちゃうと、pdf削除されても〇のまま消えない可能性もあるから対策必要か
つまり、一括で全レコード対象にするなら、Dir結果をcsvなりtxtなりに落とし込んで、それと元ソースで更新クエリがいちばん早い
〇や(空白)を入力するフィールドは確保されてる?
元のソースにpdfファイルがあるか無いかを画面上で比較しながらひとつずつ入力するつもり?
仮のテーブル作ってフォルダ内のpdfのファイル名をDir使ってそのテーブルに代入すれば
簡単に元のソースにも反映出来ると思うけど どうしてもデータシートビューで比較しながら入れたい?
pdfが入ってるフォルダ内がしょっちゅう追加・変更・削除がある場合だとしても、仮のテーブル使っとけば
都度最新の状況での比較が可能だと思えるし、不足してるからpdf作らなきゃ、の指針にも成るような気がする
でも、元のソースに〇のフィールド作っちゃうと、pdf削除されても〇のまま消えない可能性もあるから対策必要か
つまり、一括で全レコード対象にするなら、Dir結果をcsvなりtxtなりに落とし込んで、それと元ソースで更新クエリがいちばん早い
600デフォルトの名無しさん
2022/12/21(水) 14:08:13.72ID:29nQbkr4601デフォルトの名無しさん
2023/03/02(木) 17:30:45.61ID:oTm0acsN 値にtrueやfalseが含まれるexcelファイルをDocmd.TransferSpreadsheetを使ってテーブルに取り込むと、
数値として反映されてしまうんですが、理論値のまま取り込む方法はありますか?
変換かけるしかないのかな
数値として反映されてしまうんですが、理論値のまま取り込む方法はありますか?
変換かけるしかないのかな
602デフォルトの名無しさん
2023/03/05(日) 12:31:16.13ID:Yb2sf8rL >>601
取り込んだ後でクエリーで値変えれば良かろうに
取り込んだ後でクエリーで値変えれば良かろうに
603デフォルトの名無しさん
2023/03/24(金) 00:30:10.12ID:higFVnZ+ recordset.Fields.Append "フィールド名", adChar, 200
とかでフィールドを新規設定するといろいろと挙動不審になって、エラーが頻発した。
俺が気がついたのはLen関数がおかしな数字を返すこと。スペースの数を返す。
これのおかげなのか、DictionaryのKeyが変なことになり、ただしいItemが取得出来なくて2日潰したわ。
Trim関数に入れたらまともに動き出した。よけいなスペースが付加されていたため、本来の値と異なっていた。
このあたりの事情を書いたものあるのかなあ?
とかでフィールドを新規設定するといろいろと挙動不審になって、エラーが頻発した。
俺が気がついたのはLen関数がおかしな数字を返すこと。スペースの数を返す。
これのおかげなのか、DictionaryのKeyが変なことになり、ただしいItemが取得出来なくて2日潰したわ。
Trim関数に入れたらまともに動き出した。よけいなスペースが付加されていたため、本来の値と異なっていた。
このあたりの事情を書いたものあるのかなあ?
604デフォルトの名無しさん
2023/03/24(金) 10:46:32.87ID:pyQciQm5 Recordsetの作成(DAO編)
http://www7b.biglobe.ne.jp/~cbcnet/DAO/database.html
レコードセットの作成(ADO編)
http://www7b.biglobe.ne.jp/~cbcnet/ADO/append.html
第4話 DAOとADOの違い
https://www.r-staffing.co.jp/engineer/entry/20210806_1
同一システム内でDAOとADOを併用しないよう留意 とか?
http://www7b.biglobe.ne.jp/~cbcnet/DAO/database.html
レコードセットの作成(ADO編)
http://www7b.biglobe.ne.jp/~cbcnet/ADO/append.html
第4話 DAOとADOの違い
https://www.r-staffing.co.jp/engineer/entry/20210806_1
同一システム内でDAOとADOを併用しないよう留意 とか?
605デフォルトの名無しさん
2023/03/25(土) 11:49:45.50ID:zs10i3Ml エラーが出るもんだから、VarType関数使って疑わしい変数を調べたら、18が返ってきた。
しかし、そんな定数ないんだよなあ。これはどういうことだ?
しかし、そんな定数ないんだよなあ。これはどういうことだ?
606デフォルトの名無しさん
2023/03/25(土) 11:59:33.48ID:nHkGBQf7 値の合計なので、10と8とか 5と6と7とか 思い当たるのをひとつずつ潰してく
607デフォルトの名無しさん
2023/03/25(土) 13:37:32.34ID:zs10i3Ml >>606
ありがとう。
Msgboxでそような定数の合計をしますね。
ところで、そのような知識は私の持っているVBA、VBS、Accessの本には記載されていない様な気がします。
もしかしたら、Visual Basicでは常識なのでしょうか?それとも一般的なプログラミングの世界での常識ですか?
私は仕事でVBAをいじるだけで、一般的なプログラミングはほとんど知らないのでお尋ね致します。
ありがとう。
Msgboxでそような定数の合計をしますね。
ところで、そのような知識は私の持っているVBA、VBS、Accessの本には記載されていない様な気がします。
もしかしたら、Visual Basicでは常識なのでしょうか?それとも一般的なプログラミングの世界での常識ですか?
私は仕事でVBAをいじるだけで、一般的なプログラミングはほとんど知らないのでお尋ね致します。
608デフォルトの名無しさん
2023/03/25(土) 14:20:16.26ID:nHkGBQf7 本はあくまでも全体のほんの一部を抽出して購買欲そそるタイトル付けて売ってるだけ
MSのリファレンスに頼るのが本筋
https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/vartype-function
https://learn.microsoft.com/ja-jp/office/vba/api/overview/access
ネットの情報でも、ご丁寧にスクショ混ぜて説明してるのに、すでにUI変わってて役に立たないとかも多い
紛らわしい情報が氾濫する中で、どれがじぶんの求めるお宝なのかを見極める目を養うのもだいじ
MSのリファレンスに頼るのが本筋
https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/vartype-function
https://learn.microsoft.com/ja-jp/office/vba/api/overview/access
ネットの情報でも、ご丁寧にスクショ混ぜて説明してるのに、すでにUI変わってて役に立たないとかも多い
紛らわしい情報が氾濫する中で、どれがじぶんの求めるお宝なのかを見極める目を養うのもだいじ
609デフォルトの名無しさん
2023/03/27(月) 19:32:00.21ID:zT0GYsm+ >>603
CHARとVARCHARの違い
まあ、SQLの型の基本なんだが、ACCESS関連であまりちゃんと解説してるのみたことないな
https://learn.microsoft.com/ja-jp/office/client-developer/access/desktop-database-reference/datatypeenum
OLE DB プログラマリファレンスの第 13 章および付録 A を参照してください、らしい
CHARとVARCHARの違い
まあ、SQLの型の基本なんだが、ACCESS関連であまりちゃんと解説してるのみたことないな
https://learn.microsoft.com/ja-jp/office/client-developer/access/desktop-database-reference/datatypeenum
OLE DB プログラマリファレンスの第 13 章および付録 A を参照してください、らしい
610デフォルトの名無しさん
2023/03/27(月) 19:43:31.02ID:zT0GYsm+611デフォルトの名無しさん
2023/03/29(水) 07:20:36.71ID:P3Zmpymz AIに書いてほしいコードを聞くと正しく動くコードが返ってくる
bingとchatGPTは頼れる、かも
bingとchatGPTは頼れる、かも
612デフォルトの名無しさん
2023/04/04(火) 10:14:28.50ID:Az13f9J9 最近の VisualStudio に搭載されたコード補完は
おせっかいなくらいにコードの続き出てくるな
おせっかいなくらいにコードの続き出てくるな
613デフォルトの名無しさん
2023/04/04(火) 16:33:58.07ID:vSpSLcg3614デフォルトの名無しさん
2023/04/04(火) 17:16:46.37ID:SG+vqM06 >>613
確かに鵜呑みには出来ないね、よく嘘を言ってくる。ある程度自力で捌けないとヤバいね
確かに鵜呑みには出来ないね、よく嘘を言ってくる。ある程度自力で捌けないとヤバいね
615デフォルトの名無しさん
2023/04/05(水) 00:48:28.57ID:wtS5Em1S 嘘を嘘と見抜けない人の利用はお勧めできない、か
どっかで聞いた話だな
どっかで聞いた話だな
616デフォルトの名無しさん
2023/04/05(水) 19:08:02.04ID:iYloijFa GPTのウソ、具体例有ったら教えて
617デフォルトの名無しさん
2023/04/08(土) 23:18:08.84ID:m5gy6cDu Excelスレに貼られていたWebview2のコードはワロタ
618デフォルトの名無しさん
2023/04/10(月) 19:36:08.19ID:YifXJ3Ct 今日も大嘘をつかれました。
質問
MS Accessのvbaで既に存在するプログラム中に宣言されていない変数があります。これを探して,宣言するvba プロシジャーを教えて。
回答
MS AccessのVBAで、プログラム中で宣言されていない変数を検出して、宣言するための手順を説明します。
MS Accessを開き、VBAエディターを起動します。
検索機能を使用して、すべてのモジュール内の未宣言の変数を検索します。
未宣言の変数を検索するには、VBAエディターで「Ctrl + F」を押して、「検索」ダイアログボックスを開きます。ダイアログボックスで「未定義の」または「未宣言の」を検索キーワードとして入力し、「検索」または「次へ」ボタンをクリックします。これにより、未宣言の変数が使用されている場所がすべて検索されます。
未宣言の変数を見つけたら、変数の宣言を追加します。
例えば、未宣言の変数「myVariable」が使用されている場合、以下のように宣言を追加できます。
Dim myVariable As DataType ' 変数の宣言
DataTypeは変数のデータ型を指定するために使用されます。例えば、myVariableが数値である場合、データ型はLong、Integer、Doubleなどになります。文字列である場合は、データ型はStringになります。
全ての未宣言の変数を宣言したら、プログラムを保存して実行してください。
これにより、未宣言の変数エラーが回避され、プログラムが正常に実行されるようになります。
質問
MS Accessのvbaで既に存在するプログラム中に宣言されていない変数があります。これを探して,宣言するvba プロシジャーを教えて。
回答
MS AccessのVBAで、プログラム中で宣言されていない変数を検出して、宣言するための手順を説明します。
MS Accessを開き、VBAエディターを起動します。
検索機能を使用して、すべてのモジュール内の未宣言の変数を検索します。
未宣言の変数を検索するには、VBAエディターで「Ctrl + F」を押して、「検索」ダイアログボックスを開きます。ダイアログボックスで「未定義の」または「未宣言の」を検索キーワードとして入力し、「検索」または「次へ」ボタンをクリックします。これにより、未宣言の変数が使用されている場所がすべて検索されます。
未宣言の変数を見つけたら、変数の宣言を追加します。
例えば、未宣言の変数「myVariable」が使用されている場合、以下のように宣言を追加できます。
Dim myVariable As DataType ' 変数の宣言
DataTypeは変数のデータ型を指定するために使用されます。例えば、myVariableが数値である場合、データ型はLong、Integer、Doubleなどになります。文字列である場合は、データ型はStringになります。
全ての未宣言の変数を宣言したら、プログラムを保存して実行してください。
これにより、未宣言の変数エラーが回避され、プログラムが正常に実行されるようになります。
619デフォルトの名無しさん
2023/04/12(水) 18:35:03.42ID:b8lcjBjc 未宣言の変数が300種類くらいあるポンコツ業務用mdbがある。Option Explicit化して手作業で未宣言変数を探すとものすごく時間がかかる。ローカル変数だけならテキストに対しての構文解析だけで出来そうだけど、誰かやり方知ってますか?
Access用の解析ツールは時間がかかりすぎるので諦めました
Access用の解析ツールは時間がかかりすぎるので諦めました
620デフォルトの名無しさん
2023/04/14(金) 12:20:23.58ID:ooEkRg5K 全角数字を含むフォームは普通VBEのプロジェクトエクスプローラでも全角数字で表示される。
しかし、俺の持っているmdbはなぜかフォームによってはVBEで半角の場合がある。
つまりForm1番→Form1番
というように半角になっている。
フォームのもっている名前とモジュールの名前が異なるので検索漏れが発生して何かと不便。
解決策ありますかね?
しかし、俺の持っているmdbはなぜかフォームによってはVBEで半角の場合がある。
つまりForm1番→Form1番
というように半角になっている。
フォームのもっている名前とモジュールの名前が異なるので検索漏れが発生して何かと不便。
解決策ありますかね?
621デフォルトの名無しさん
2023/04/19(水) 15:36:15.06ID:hTeej4zs622デフォルトの名無しさん
2023/04/19(水) 21:07:01.70ID:UiOYL9zn >>621
VBEはクラスオブジェクトのリネームはできないんですよねえ
Text化してファイル名を統一してから読み込みますかねえ?それでなおるか未確認ですが。
今は検索文字列のパターンを増やして対応してますが、邪道だなあと思いながらやってます。
VBEはクラスオブジェクトのリネームはできないんですよねえ
Text化してファイル名を統一してから読み込みますかねえ?それでなおるか未確認ですが。
今は検索文字列のパターンを増やして対応してますが、邪道だなあと思いながらやってます。
623デフォルトの名無しさん
2023/04/20(木) 00:39:31.09ID:Ck2wYtqO ACCESS側で名前変更しても、VBE側が変わらないことがあるっぽいな
フォームの コード保持 を いいえ にして保存してから はい にしたら同じになったぞ
まあ、コード全部いったん消えるがな
フォームの コード保持 を いいえ にして保存してから はい にしたら同じになったぞ
まあ、コード全部いったん消えるがな
624デフォルトの名無しさん
2023/04/20(木) 10:07:33.88ID:b7y+tf5m >>623
テキスト化してフォームと同じ全角のファイル名にしてからLoadしたらVBEのクラスオブジェクトの名前と一致させることが出来ました。
思うに、このプログラムを書いた人はテキスト化して、お好みのエディタで書いていたんでしょうね。
だからOption Explicitなんてしてなくて、問題なく書けるので、変数のスペルミスがあります。
今回はファイル名の全角半角を間違えてままLoadしてフォーム名とクラスオブジェクト名が一致しないということになったと思います。
よほどVBEを使いたくなかったんでしょうね。
テキスト化してフォームと同じ全角のファイル名にしてからLoadしたらVBEのクラスオブジェクトの名前と一致させることが出来ました。
思うに、このプログラムを書いた人はテキスト化して、お好みのエディタで書いていたんでしょうね。
だからOption Explicitなんてしてなくて、問題なく書けるので、変数のスペルミスがあります。
今回はファイル名の全角半角を間違えてままLoadしてフォーム名とクラスオブジェクト名が一致しないということになったと思います。
よほどVBEを使いたくなかったんでしょうね。
レスを投稿する
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★8 [BFU★]
- 【千葉】コンビニに尿入りペットボトル並べた疑い、26歳男「むしゃくしゃして」…購入した客が飲もうとしたところ臭いに違和感 [ぐれ★]
- 高市首相が異例の“買春行為の罰則化の検討”に言及…世界では“買う側”に罰則を科すのが先進国のスタンダード ★2 [樽悶★]
- 中国官製報道「日本経済はもう持たない」にネット民ツッコミ「ニュースだけ見てたら日本はもう百回くらい爆発してる」 [1ゲットロボ★]
- 植田日銀総裁 「円安進行が物価高を起こしている」 ★4 [お断り★]
- 【STARTO ENTERTAINMENT】timelesz、メンバーの不適切言動を謝罪「不用意かつモラルに反した発言であった」 全員の署名入りでコメント [Ailuropoda melanoleuca★]
- 【ガチ正論】一般人「中国に規制制裁されて、『中国ムカつく』じゃなくて矛先が『許さんぞ高市』になってる奴、頭おかしいの?」 ★2 [153490809]
- 陸上自衛隊員(43)逮捕 赤坂ライブハウスの出演女性刺傷 殺人未遂容疑 [377482965]
- 鼻糞の残糞感がずっと消えない
- NHKニュースウオッチ9「日本側は対話にオープンな姿勢で安定した日中関係を築きたい考えなのに中国が意固地で糸口が見いだせない」 [904151406]
- 【ぺこ専🐰】なんG 兎田ぺこら突発配信実況スレ🏡【ホロライブ▶】
- 職場の女の子で抜くのが最高に興奮するよな
