X



VBAなんでも質問スレ Part3
0001デフォルトの名無しさん
垢版 |
2021/09/09(木) 19:46:21.53ID:zfiF925t
VBAを使った質問ならなんでもござれ
本来の対象であるオフィスアプリを操作する以外の話もOK

ゲーム作り、Webアクセス、外部アプリの操作
COM(ActiveX)、Win32API、.NET Framework、DirectXなどなど
VBAで実行するものであればなんでも質問してください

VBAを開発環境としていろいろ作っちゃいましょう

前スレ
VBAなんでも質問スレ Part2
https://mevius.5ch.net/test/read.cgi/tech/1432173164/

VBAなんでも質問スレ
http://peace.2ch.net/test/read.cgi/tech/1342087380/
0004デフォルトの名無しさん
垢版 |
2021/09/17(金) 20:28:55.22ID:HsaXC1Am
プロシージャ終わったあとに変数の中身を保持するにはどうすればいいですか
ボタンとかで変数を後で呼び出したいです
0006デフォルトの名無しさん
垢版 |
2021/09/18(土) 00:17:54.33ID:y6o4y4/H
>>4
Static変数をつかう
プロシジャの外で変数を定義する
VBA以外のどこか(シートとか)に保存する

好きな方法えらべ
0007デフォルトの名無しさん
垢版 |
2021/10/20(水) 22:37:31.96ID:mCILNp7G
超初心者です
すみません、他スレでもきいたのですが

以下の対応をさせたいです
@シートを支店分だけ増やす
Aシート名をそれぞれ「支店一覧」A2〜A18の支店名にする
B作成したシートのB5に支店名を入れる
C作成したシートの表のA列が"0"になっている行を削除する
D作成したシートのオートフィルタを解除する

以下のものではエラーになりますが、どこが悪いのでしょうか

Sub シート作成
Dim 支店名 As Range
For Each 名前 In Worksheets("支店一覧").Range("A2:A18")
Worksheets("原本").Copy After:=Worksheets(Worksheets.Count)
With ActiveSheet
.Name = 支店名.Value
.Range("B5") = 支店名.Value
End With
  Range("B3").AutoFilter 1, "0"
With Range("B3").CurrentRegion.Offset(1, 0)
.Resize(.Rows.Count - 1).EntireRow.Delete
  Range("B3").AutoFilter
End With
Next 支店名
0008デフォルトの名無しさん
垢版 |
2021/10/20(水) 22:49:26.57ID:mCILNp7G
C作成したシートの表のB列が"0"になっている行を削除する
の誤りです

コードの3行目は
For Each 支店名 In Worksheets("支店一覧").Range("A2:A18")
の誤りです
0009デフォルトの名無しさん
垢版 |
2021/10/21(木) 01:14:54.35ID:1DXeXJeG
>>7
エラーについて質問する時は、なんていうエラーが出たか、どの部分が黄色くなってるか書いて
プログラムは間違ってないから、おかしいのは支店一覧のA列に入ってる支店名と思われる
00107
垢版 |
2021/10/26(火) 13:12:31.54ID:NeMLM07o
>>7です。
間があいてしまい、申し訳ございません。

マクロを実施すると、「支店一覧」A2:A18のA2,A3,A4のシートまでは対応が完了するのですが、
その後A5名のシートが作成されず、「原本(2)」というシートが作成されたあと、以下エラーとなります。

「実行時エラー'1004':
この名前は既に使用されています。別の名前を入力してください。」

>>9さんの仰る通りなのだと思うのですが、「支店一覧」をみるかぎりではおかしなところはみあたりません
(もちろんA2:A18に重複もありません)
0011デフォルトの名無しさん
垢版 |
2021/10/26(火) 18:21:16.44ID:oxO6XS7Z
>>10
隠しシートか、支店名のところに隠れた行があるのでは?
きちんとデバッグしないと分からんけど。
001211
垢版 |
2021/10/26(火) 18:27:36.54ID:oxO6XS7Z
簡単なデバッグとしてら、まずはwithステートメントを全てコメントアウトして、動くかどうか。
あとは支店名のところをシンプルにアルファベットのAからQとかに変えてみる。
0013デフォルトの名無しさん
垢版 |
2021/12/16(木) 14:58:51.82ID:6msdMQ6g
reportのインスタンスを作成して、property Letでprivate変数に配列を渡した後に、docmd.openreportを行うと変数が全部初期化されるのな。
reportに表示させるものを変数で与えるのは不可能なのかなあ?
やっぱり、クエリとか一時的なテープルが必要なのかな?Openargsで出来そうだけど、数が多いと非現実的だよね。
001413
垢版 |
2021/12/16(木) 15:02:05.17ID:6msdMQ6g
グローバル変数でやるべきかなあ?でも変なときに変数の寿命が来るから不安だよなあ。
0015デフォルトの名無しさん
垢版 |
2022/02/13(日) 16:56:03.94ID:eQTVIxP9
word vbaについて質問です。
本文↓
0001234567891

コード↓
Sub findText()
With Selection.Find
.Text = "1"
Do While .Execute
Selection.Comments.Add Range:=Selection.Range
Selection.TypeText Text:="あ"
Loop
End With
End Sub

特定の文字列を検索し、コメントを追加するマクロを作っているのですが、
コードを実行すると、本文1個目の「1」にコメントがついた後,
2ループ目の「Selection.Comments.〜」で「5935 コメント、脚注および文末脚注は、本文にのみ追加できます。」というエラーが出ます。
コメント入力時にカーソルが本文外に出るのが原因かと思い、
ループの最後にカーソルを本文中(コメントを付けたワードの直後)に戻すようにしたいのですが
どのように記述したらいいのでしょうか?
0016デフォルトの名無しさん
垢版 |
2022/03/01(火) 18:52:06.00ID:gFYHZAxx
Excel VBAで質問です

現在開いているシートにマクロボタンを作り、実行させると…
現在シートのB列に検索値
別のシート(ABC)のB列の5行目〜400行目までを検索して一致したセル番号が欲しいのですが
For cnt=1 To 10 samsu(cnt)=WorksheetFunction.Match(Cells(cnt,1),Worksheets(”ABC”).Range(Cells(5,1),Cells(400,1)),0)

next
このMatch関数の正しい書き方を教えてもらいたいのですが。
0019デフォルトの名無しさん
垢版 |
2022/03/12(土) 08:01:57.51ID:rBVEQH16
質問です。

アクセスから書き込みパスワード付きエクセルファイルに保存するためにエクスポートします。

当然、単純にエクスポートするコードを書いたらエラーで止まります。
これが5年くらい前

最近、この手順を自動化するために
エクセルファイル側の書き込みパスワードを解除し、保存、
アクセスからエクスポートと、いうコードを書きました。

パスワードの再設定をしていないのに正常にエクスポートされ、
書き込みパスワードも正しくかかっています。

パスワード絡みの動作がおかしい気がしますが
心当たりはありますでしょうか?
002119
垢版 |
2022/04/09(土) 10:45:51.24ID:LIGVQVYE
ウインドウズの更新かかったらさらに挙動が変わりましたw

質問の件ですが
もともとファイル内容の変更ではなく
新規作成で問題無い事に気づいたので
パスワードなしマクロファイルを作成→
マクロファイルからパスワード付きで新規(上書き)保存
と、二段階にしました。
0022デフォルトの名無しさん
垢版 |
2022/05/01(日) 14:19:41.70ID:ly+hCRMC
2日前まで動いていた自作のマクロが、昨日からウィルスと誤検出されて実行できなくなってしまいました
内容はseleniumでchromeを操作して特定のページを表示させるだけの比較的単純な物です

Windows Defenderの定義と、chromeとseleniumと.netは最新にしましたが改善されません
どうしたら誤検出だとシステムに教えることができるのでしょうか?
0024デフォルトの名無しさん
垢版 |
2022/05/01(日) 19:48:46.19ID:ly+hCRMC
デジタル証明書を作って読み込ませたら実行できるようになりました
ありがとうございました
それにしても、こんなに簡単に証明書を作れてしまうのなら、あんまり意味がない気もしますね
0025デフォルトの名無しさん
垢版 |
2022/05/01(日) 19:50:53.15ID:ly+hCRMC
とりあえず実行はできましたが、証明書を入れたら起動がとても遅くなってしまいました
誤検出だと知らせる方法もお願いします
0026デフォルトの名無しさん
垢版 |
2022/05/06(金) 17:09:58.99ID:n/glZxQ+
Excel VBAの質問です。
初心者で申し訳ありません。
yahoo知恵袋にベストアンサーにあったものなのです。

Sub Sample1()
Dim dt As Date

dt = Range("D11").Value
Range("D12").Value = GetNENDO(dt, 3)
MsgBox dt & " は " & GetNENDO(dt, 3) & " 年度です"
End Sub

Function GetNENDO(dt, x)
GetNENDO = Year(DateAdd("m", -x, dt))
End Function

Range("D12").Value = GetNENDO(dt, 3)の(dt, 3)が理解できません。
またYear(DateAdd("m", -x, dt))の-xとはどういうことでしょうか。

抽象的ですみません
0027デフォルトの名無しさん
垢版 |
2022/05/06(金) 18:24:20.55ID:+CQ2xbTl
自作のファンクションでGetNENDOというのを作っていて、
このファンクションは引数に指定された日付dtに対してxか月前(-x)の日付の年を返却するみたいだね。
今回はセルD11に入っている日付の3か月前の年をD12に設定しているような動作だと思う
例)D11に「2022/2/3」が入っていればD12には「2021」が設定される
0029デフォルトの名無しさん
垢版 |
2022/05/06(金) 22:15:14.38ID:P6mnwuPA
カレンダー年から会計年に変換するVBAのようだが
こんなのワークシート関数で十分なのに有り難がって使う理由が分からんよ
0030デフォルトの名無しさん
垢版 |
2022/05/07(土) 05:50:57.56ID:WpJq4eDb
>>29
プログラミング全般に言えることだけど、単なる数式と比較して、関数化して名前が付けてあると、他人が見た時に用途や動作がわかりやすくなるという大きなメリットがある
0031デフォルトの名無しさん
垢版 |
2022/05/07(土) 23:47:50.28ID:xbH87CjA
>>29
それ言い出したら、「全部0100010101000」で表現できるのにいちいちアセンブラとかありがたがって使う意味わからん、まで遡る。

抽象化は大事だよ。

あと、地の文に「有難がって」みたいなネガティブな印象の語を持ってきて、言いたいことを暗に伝えるのはやめたほうがいいと思う。

ゲスゴミがよく使うんだけど、「・・・などと訳のわからないことを言っており」とか、「行き過ぎた○○の是正を」とかの表現を使って責任逃れしつつ人や物にレッテルを貼る卑怯者に見える。

俺がゲスゴミって表現使ったのことでなんとなく俺のスタンス伝わるだろ?そういう類。
0038デフォルトの名無しさん
垢版 |
2022/05/10(火) 02:24:40.53ID:vf3aVjoi
知恵袋をたまに見てるとさ、無言で変な構文やなんかのサイトを張り付けて去っていく回答者いるけど、なんか不気味じゃない??
0039デフォルトの名無しさん
垢版 |
2022/05/10(火) 08:22:39.72ID:YKOd6nzx
事業年度や会計年度は主体・組織によって全く異なる。
会社だと3月期決算の会社は4月始まりだが、
3月期決算でない会社は世の中にたくさんある。

学校年度だって国によって違う。
4月始まりの日本は少数派。
0041デフォルトの名無しさん
垢版 |
2022/05/10(火) 09:47:10.09ID:rTLlCkMy
年度が4月始まりじゃないならなおさら二つ目の引数は馬鹿丸出しだろ
普通年度始まりの月とかにしないか?
0042デフォルトの名無しさん
垢版 |
2022/05/10(火) 14:23:17.79ID:jpNs1/la
26です

>>27
ありがとうございました。
>>34のとおりの知恵袋です。

解説が欲しかったので助かりました
0043デフォルトの名無しさん
垢版 |
2022/05/11(水) 08:32:22.33ID:RGJRKSrA
>>42
VBAなんてExcelに該当のコード貼り付けてステップ実行もすぐできるんだからためそうぜ
「Year(DateAdd("m", -x, dt))」についてはヘルプに引数の説明が載ってるんだから見て理解しないと今後が思いやられるぞ
0044デフォルトの名無しさん
垢版 |
2022/06/17(金) 09:07:00.42ID:h3dE1ejj
今日の発見
Option Explicitの有無でサブフォームの選択の仕方が変わるのな
ちゃんと書かないとエラーになるコードもOption Explicitを消すと動く
0045デフォルトの名無しさん
垢版 |
2022/06/17(金) 09:41:15.90ID:6P0695t/
エラーにならないようにちゃんと書け
0046デフォルトの名無しさん
垢版 |
2022/06/17(金) 10:05:18.56ID:h3dE1ejj
>>45
行数が節約できるじゃん。それにOption Explicitを書かないとちゃんと動作するんだよ。
このことはどこかに書いてないかな?
0047デフォルトの名無しさん
垢版 |
2022/06/17(金) 12:05:13.97ID:gheAsVGh
自分は業務で使うちょっとしたツールをVBA使う事があるけど
Option Explicitを書いてもちゃんと動くようにコーディングするのが普通だと思うから外すつもりはないけど
行数削減目的で外すとかは絶対ないわ
若いもんに作らせて外されててつけたら動かないようなもの持ってきたら作り直させるね
0048デフォルトの名無しさん
垢版 |
2022/06/17(金) 13:12:56.41ID:6WxlvkUP
エラーになるってことは変数宣言されてないのが含まれてるってことだよな
ちゃんとエラーで止まるコードと何となく動くけど実はバグってる(けど気づかない)コードとどっちが良いのか良く考えなよ
0049デフォルトの名無しさん
垢版 |
2022/06/17(金) 13:56:57.20ID:gheAsVGh
まず「ちゃんと書いてない」部分が何かわからないから議論にならないでしょ
ただ>>44のVBAはちゃんとかかなくても動いてる(目的が達成できる)ならそれでいいと思う
自分とこの業務だったら拒否するけどね
005044
垢版 |
2022/06/17(金) 16:46:52.28ID:MN10NcFA
購入した業務用のmdbのコードが余りに酷いからリファクタリングごっこしてるうちに見つけたんですよ。1200以上のモジュールをOption Explict化したら急にオブジェクトが見つからないとか言われて驚いたんですよ。変数宣言は1週間かけてチェック済なんですよねえ。不思議ですよねえ
0051デフォルトの名無しさん
垢版 |
2022/06/17(金) 17:05:38.65ID:qX3KJPna
それはOption Explict化をミスってるんじゃないか

広域で定義(または利用されて暗黙的に定義)されてる変数を
ローカルで定義したとかの可能性が高い

つか1000以上のモジュールがあって販売してるようなプログラムとは思えん作りだな
0052デフォルトの名無しさん
垢版 |
2022/06/17(金) 17:25:09.27ID:gheAsVGh
「ごっこ」って言葉を免罪符にしてるんだろうけど
直せないならやらなきゃいい
0053デフォルトの名無しさん
垢版 |
2022/06/17(金) 22:53:08.85ID:ai+zswsd
>>44
Option Explicitはあえてエラーをエラーとするようにするための記述だからな
HTMLでいうstrictだよ
005444
垢版 |
2022/06/18(土) 08:43:08.28ID:hwKe4qoR
>>51
> 広域で定義(または利用されて暗黙的に定義)されてる変数を
> ローカルで定義したとかの可能性が高い
でも、Compileは通るんですよねえ。
あとで実験してみますね。

>>つか1000以上のモジュールがあって販売してるようなプログラムとは思えん作りだな
愚痴らせて下さい。
金取るくせにOption Expliciじゃないモジュールが多数。変数がなんでもかんでもVariant。変数の使い回しし放題。インデントがめちゃくちゃ。
命名規則がメチャクチャでバラバラ。
古いコードがコメントアウトで多数残ってる。何十行ものコメントアウトがたくさんあって読みにくいたらありゃしない。
戻り値を返さないFunction。戻り値が返ったと思ったら、受け取る変数はどこでも読まれない。Subでいいだろうが。
宣言だけして利用されない変数多数。空のプロシジャーを呼び出すなど無意味なコード。

とりあえず読み書きされない変数は全部削除しましたが3日かかりました。
全部変数宣言するには1週間かかりました。
分析ツールは他にも多数のDead Codeを指摘していますが、全部はできません。
酷すぎます。
005544
垢版 |
2022/06/18(土) 08:49:13.02ID:hwKe4qoR
>>52
おいら、プログラマーじゃないんだよ。だから「ごっこ」と書いた。でも本はちゃんと買ってあるよ。
業務で利用しているAccessを改良しているうちに泥沼にはまったんだよ。
Accedssを初めて使ったときは変数という言葉も知らなかったよ。
0057デフォルトの名無しさん
垢版 |
2022/06/18(土) 11:58:55.45ID:pdXNHIfJ
ここはVBAなら何でもありだと思うけどな
「Excel VBA」スレと間違えてないか?
0059デフォルトの名無しさん
垢版 |
2022/06/18(土) 13:38:21.35ID:T0WefD6f
>>54
あるあるだね
とくに若手に作らせるとそんなもんだよ
命名規則とかインデントとか、とにかく余裕がなくて勉強してるヒマがない
納期に追われて、とりあえず動く物を作るのでせいいっぱい

まあ自分の担当になったんなら、気長に直していくこったな
俺はひどいコード直すの嫌いじゃない
最近はいいツールあるしね
インデントぐらいならほぼ一発で綺麗に直してくれるし
0060デフォルトの名無しさん
垢版 |
2022/06/18(土) 18:52:07.80ID:59smDk8e
購入品なら不具合出たら責任取らせればそれで済む話
リファクタリングなんて自分の勉強目的以外は無意味
自分の勉強目的ならここに愚痴だか何だかわからない書き込みをするのも無意味
006144
垢版 |
2022/06/18(土) 22:31:48.14ID:yLkug1TW
書いてみて反応がなければよし、あれば語らう。
自由な空間で試行錯誤をすることを否定するなよ老人脳。
0062デフォルトの名無しさん
垢版 |
2022/06/19(日) 10:16:32.15ID:MMGrL0A+
スレも理解できない奴が他人を批判するのもどうかと思うけどな
そもそもソースすら満足に直せない奴も低能なのではないか
006344
垢版 |
2022/06/19(日) 13:49:52.36ID:ZfwUc+SV
ソースは差し障りがないように改変して皆さんに相談してみたいと思います
0064デフォルトの名無しさん
垢版 |
2022/06/19(日) 14:32:35.71ID:umGSPst7
>Option Explicitの有無でサブフォームの選択の仕方
選択の仕方ってのがどういった状況を指してるのかわからんけど
正常に動作してる状況で宣言の有無でそれが変わる例が思いつかんわ
そこだけでもコード曝せ
006544
垢版 |
2022/06/19(日) 14:36:56.35ID:7hrQJOKY
私も非常に驚いたので晒したいです。
今日は家族サービスでできないので近いうちに。
0068デフォルトの名無しさん
垢版 |
2022/06/19(日) 17:50:53.92ID:r9O1Cbix
オプエクで動かなくなるのって、デフォルトプロパティあたりのタイプミスとかじゃないのかなあ
晒せるように改変してたらあっさり解決したりして
0069デフォルトの名無しさん
垢版 |
2022/06/20(月) 12:29:08.41ID:Kyf/A8dE
若手って何歳を指しているのよ?
まさか40代を指して若手とか定義しているのか?
0070デフォルトの名無しさん
垢版 |
2022/06/20(月) 12:49:30.22ID:qN1xu+JG
年齢でも勤続年数でもないのは確か
何ができたら一人前とか定義するのも不可能だし
0071デフォルトの名無しさん
垢版 |
2022/06/20(月) 12:58:01.87ID:KWqGfZyo
初心者の定義ならできそう

マニュアルを読まない
型を適切に使い分けない
コーディングルールを意識しない(インデントやコメント、命名規則も含む)
エラーメッセージを読まない
とにかくググらない
0075デフォルトの名無しさん
垢版 |
2022/06/20(月) 14:10:44.70ID:cxkBtu38
>>71
それは初心者でなくバカなだけでしょ
自分ができない事の原因にそれがあったら直せといいたい
0076デフォルトの名無しさん
垢版 |
2022/06/20(月) 17:54:51.35ID:Kyf/A8dE
ググるっつても、見るのは当然MSヘルプのみ。
上級者はこれ。
他の訳の分からないサイトは一切見ないと聞いた
0078デフォルトの名無しさん
垢版 |
2022/06/20(月) 20:25:16.63ID:+SBlN13D
>>74
リファレンスマニュアルのことをマニュアルって呼んだり読むっていう文化無かったからびっくりした
リファレンスって呼んでたし見るって言ってる
確かにマニュアルだけど
0079デフォルトの名無しさん
垢版 |
2022/06/20(月) 22:02:44.18ID:Kyf/A8dE
上級者はMSヘルプだけで解決と聞いた
訳の分からないサイトは参考にしないと
0080デフォルトの名無しさん
垢版 |
2022/07/27(水) 10:15:37.10ID:llycacgt
PowerPointのVBAについてご教示ください
・達成したいこと
社内作成のファイルを顧客に送付するための処理としてスライドに表示されている情報以外(個人情報、非表示スライド、ノート)を削除したい
・うまくいかないところ
ノートのスライドイメージを残しつつ、それ以外を削除すること
・試したこと
NotePage.Shapesを全削除→スライドイメージごと削除されてしまう
DocumentInspectors(4)でノート削除→ノートに貼られた図などが残る
0081デフォルトの名無しさん
垢版 |
2022/08/06(土) 17:28:00.48ID:11wPPJ/9
ワードVBAでの質問です.
ワードの連番フィールド(SEQフィールド)の結果を文字列で固定したいのですがどうすればいいでしょうか?
多くのフィールドは
ActiveDocument.Fields.Unlink
で固定化できるのですがSEQフィールドは対象外です.
よい方法があれば教えてください.
0082デフォルトの名無しさん
垢版 |
2022/08/06(土) 17:36:58.95ID:11wPPJ/9
>>81
自己レスです。
Ctrl + a、Ctrl +shift +F 9でできました。
マクロでCtrl +shift +F 9の操作を記録したのですが何も記録されませんでした。VBA には対応するコマンドはないようですね。

お騒がせしてすいませんでした。
0083デフォルトの名無しさん
垢版 |
2022/09/20(火) 17:19:44.79ID:Y1fqDNiq
今日ろくに考えずに書いたのが
上手く動いて驚いた

しかも期待する以上の働きを
してたわ

本当に大丈夫か心配だけど
じっくり見る気力がないわ
0085デフォルトの名無しさん
垢版 |
2022/11/05(土) 23:23:48.77ID:q1vpSefi
WORD VBAでハイパーリンクをクリックする処理はどうすればいいでしょうか.
ハイパーリンクをクリックしたときに処理Aを同時に実行したいのですが,エクセルVBAはのようにハイパーリンクのクリックイベントがWORDVBAにはないので,逆にボタンに処理Aと塀パーリンククリックの処理を書こうとしています.
ご存知ならば教えてください.
0089デフォルトの名無しさん
垢版 |
2023/01/15(日) 17:27:39.34ID:L0piBEvX
a=Application.InputBox(”英数字を入力して下さい”,“~を入力“)
この入力の時に、全角モードになっていても半角英数字の入力に自動で変更する方法はないでしょうか?
sendkeys “%{kanji}“を使用すると、半角英数字になっていた時に全角モードにされてしまいます。
よろしくお願いします。
0091デフォルトの名無しさん
垢版 |
2023/01/15(日) 17:42:11.66ID:L0piBEvX
>>90
ありがとうございます。
ここのページも見て試したのですが、実行した後に手動でセルに直接入力する場合には確かに半角英数字になるのですがinputboxからの入力ではIMEの方が強いみたいです
0094デフォルトの名無しさん
垢版 |
2023/01/15(日) 21:24:53.31ID:L0piBEvX
ありがとうございます
>>92
試してみますね
>>93
そのやり方と

If IMEstatus<>vbIMEModeOff then
Sendkeys “%{kanji}“
End If

のやり方も駄目でした
inputbox後や前に

msgbox IMEstatus
を置いてみると常に3を吐いています
0095デフォルトの名無しさん
垢版 |
2023/01/15(日) 21:28:27.42ID:L0piBEvX
>>92
入力後の半角英数字化ではなくて、入力時には半角英数字になっている状態にしたいです
0098デフォルトの名無しさん
垢版 |
2023/01/26(木) 00:20:48.77ID:gEJbNrm3
初心者です。

Excelシート上に、activeXコントロールのボタン、コンボボックス、テキストボックス貼り付け
そのプロパティ見ても、タブインデックスが見当たらない?
Excelシート上では、タブインデックスは設定不可なのですか?

教えて先輩方
0099デフォルトの名無しさん
垢版 |
2023/01/26(木) 01:01:02.55ID:XU6i0xq0
>>98
自動でやるのは不可能
Tabが押されたらカーソルを移動するプログラムを1つずつ自分で書く必要がある
0100デフォルトの名無しさん
垢版 |
2023/01/26(木) 09:05:46.22ID:gEJbNrm3
>>99
ありがとうございます
0101デフォルトの名無しさん
垢版 |
2023/01/29(日) 18:23:10.90ID:MSlBVOmY
アクセスVBAの質問です。
目的のフォルダーにカレントフォルダ―を変更してからファイル選択ダイアログを開こうとしていますが、カレントフォルダーが変更されません。

ChDir "C:\" & 目的フォルダー名

With Application.FileDialog(msoFileDialogOpen)
If .Show = True Then
フルパスのCSVファイル名 = .SelectedItems(1)
Else
Exit Sub
End If
End With

どこがおかしいのでしょうか?
0103デフォルトの名無しさん
垢版 |
2023/01/30(月) 10:59:25.24ID:pg83Lxmz
>>102
ありがとうございました。
できました。

ChDir "C:\" & 目的フォルダー名
はいらないのですね。
010598
垢版 |
2023/02/05(日) 00:51:51.83ID:x+/z83/X
>>99
フォーカスのセットができないですね
うーん
010798
垢版 |
2023/02/05(日) 11:03:04.93ID:x+/z83/X
>>106
ありがとうございます
調査してみます
0108デフォルトの名無しさん
垢版 |
2023/02/07(火) 02:06:59.91ID:HGM7cRGk
VBAが壊れたファイルってもう駄目ですか?
何か壊れた時の対策はしてますか?
0109デフォルトの名無しさん
垢版 |
2023/02/07(火) 02:14:49.35ID:u80ccXtt
VBAに限った話では無いけどデータ破損に備えてファイル履歴残しておくのは最低限の心構えだと思うけどな
011044
垢版 |
2023/02/07(火) 14:59:58.45ID:PRRTh57q
>>108
何か改造する度にコピーを作成してクラウドで二重化しているなあ。
コマンドボタンを1個置いただけでmdbが壊れて途方に暮れてからそうしている。
011144
垢版 |
2023/02/07(火) 15:17:07.11ID:PRRTh57q
外国のサイトを巡っているときに壊れたmdbを修復すると謳うユーティリティーソフトを見た覚えがあるなあ。
フリーの奴をダウンロードして使った記憶がある。俺の場合は役に立たなかったけど、試す価値はあると思う。
0113デフォルトの名無しさん
垢版 |
2023/02/07(火) 22:11:10.80ID:n590V07Z
俺生まれてないや
0115デフォルトの名無しさん
垢版 |
2023/02/08(水) 07:56:50.95ID:XG6Lxj8v
5chは年寄の巣窟ですよ。
子供は他所で遊んだ方が良いですよ。
0117デフォルトの名無しさん
垢版 |
2023/02/08(水) 16:38:02.34ID:WlEF04f4?PLT(15000)

1.CommandButton1_Click
 ウインドウ作成
 GetWindowLongPtr→RegisterClassEx→CreateWindowEx
 作った窓のウインドウハンドルはパブリック変数に格納

2.CommandButton2_Clickで削除
 ウインドウ破棄
 DestroyWindow

3.ウインドウハンドル確認ソフトでもウインドウが消えてることを確認し、
 手順1に戻るとRegisterClassExが失敗(戻り値ゼロ)になる

何でかな?
0119デフォルトの名無しさん
垢版 |
2023/02/09(木) 18:57:14.99ID:7UZecPSw
>>118
自己解決したわ
手順3でDestroyWindowの後、UnregisterClassを入れないと駄目らしい
0120デフォルトの名無しさん
垢版 |
2023/02/27(月) 17:10:11.50ID:GEmICUaj
購入さたパソコンはオフィス非搭載
VBAは以前簡単なモノは作ってましたが、すっかり忘れてます。

再び勉強してみようかと思ってますが、
無料ソフトのカルクでVBAがある程度学習できるとネットでみつけましたが、これは本当に可能ですか?

pythonは大学が無料テキストを公開してますが、VBAの無料テキストは検索しても見つかりませんでした。

どこか無料テキスト公開しているサイトを知りませんか?
012244
垢版 |
2023/04/20(木) 13:04:53.21ID:b7y+tf5m
みなさん、Accessに外部からLoadFromTextを行うときに出てくる 「この操作を実行するとプロジェクトがリセットされます。実行しますか?」 を出なくする方法を知ってますか?
1000以上のモジュールをインポートしないと行けないので、1000回以上ボタンをクリックするのが面倒くさいです。
0125デフォルトの名無しさん
垢版 |
2024/02/11(日) 15:33:19.21ID:xHqPXMK5
VBAが廃止予定とマイクロソフトから予告めいたことが出てるらしいですが、実際はどうなんでしょうか?
0127デフォルトの名無しさん
垢版 |
2024/02/11(日) 18:01:40.17ID:RI7D2x7j
>>125
それ5年前にも10年前にも聞いたけど、10年たってもあんまり進んでないからあわてる必要は全然ない
0128デフォルトの名無しさん
垢版 |
2024/02/11(日) 18:03:32.03ID:ESz2cAkb
>>122
そもそも、手動で1個ずつインポートして「ダイアログを出なくする方法」を探すこと自体が間違ってる
1回で済むようにまとめるか完全自動化するのが正解
0130デフォルトの名無しさん
垢版 |
2024/02/12(月) 08:25:23.25ID:RQTXNg3h
>>125
VBA廃止してPythonにすっからよろしくな!

Python導入辞めるわ、使いたかったら優れたアドオン2つあるから使ってな!

って前科もあるし
レスを投稿する


ニューススポーツなんでも実況