VBAなんでも質問スレ Part3at TECH
VBAなんでも質問スレ Part3 - 暇つぶし2ch2:デフォルトの名無しさん
21/09/09 19:50:57.85 zfiF925t.net
関連スレ
Excel VBA 質問スレ Part72
スレリンク(tech板)
Access VBA 質問スレ Part2
スレリンク(tech板)
古代VBプログラマ質問スレ(Ver.6.0 まで) part65 [転載禁止]c2ch.net
スレリンク(tech板)
Excel総合相談所 145
スレリンク(bsoft板)

3:デフォルトの名無しさん
21/09/09 19:51:44.70 zfiF925t.net
前スレ落ちたままだったから建てた

4:デフォルトの名無しさん
21/09/17 20:28:55.22 HsaXC1Am.net
プロシージャ終わったあとに変数の中身を保持するにはどうすればいいですか
ボタンとかで変数を後で呼び出したいです

5:デフォルトの名無しさん
21/09/17 20:58:48.95 MiWjDaSf.net
シートのセルに値を書き込んでおく

6:デフォルトの名無しさん
21/09/18 00:17:54.33 y6o4y4/H.net
>>4
Static変数をつかう
プロシジャの外で変数を定義する
VBA以外のどこか(シートとか)に保存する
好きな方法えらべ

7:デフォルトの名無しさん
21/10/20 22:37:31.96 mCILNp7G.net
超初心者です
すみません、他スレでもきいたのですが
以下の対応をさせたいです
①シートを支店分だけ増やす
②シート名をそれぞれ「支店一覧」A2~A18の支店名にする
③作成したシートのB5に支店名を入れる
④作成したシートの表のA列が"0"になっている行を削除する
⑤作成したシートのオートフィルタを解除する
以下のものではエラーになりますが、どこが悪いのでしょうか
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 支店名

8:デフォルトの名無しさん
21/10/20 22:49:26.57 mCILNp7G.net
④作成したシートの表のB列が"0"になっている行を削除する
の誤りです
コードの3行目は
For Each 支店名 In Worksheets("支店一覧").Range("A2:A18")
の誤りです

9:デフォルトの名無しさん
21/10/21 01:14:54.35 1DXeXJeG.net
>>7
エラーについて質問する時は、なんていうエラーが出たか、どの部分が黄色くなってるか書いて
プログラムは間違ってないから、おかしいのは支店一覧のA列に入ってる支店名と思われる

10:7
21/10/26 13:12:31.54 NeMLM07o.net
>>7です。
間があいてしまい、申し訳ございません。
マクロを実施すると、「支店一覧」A2:A18のA2,A3,A4のシートまでは対応が完了するのですが、
その後A5名のシートが作成されず、「原本(2)」というシートが作成されたあと、以下エラーとなります。
「実行時エラー'1004':
この名前は既に使用されています。別の名前を入力してください。」
>>9さんの仰る通りなのだと思うのですが、「支店一覧」をみるかぎりではおかしなところはみあたりません
(もちろんA2:A18に重複もありません)

11:デフォルトの名無しさん
21/10/26 18:21:16.44 oxO6XS7Z.net
>>10
隠しシートか、支店名のところに隠れた行があるのでは?
きちんとデバッグしないと分からんけど。

12:11
21/10/26 18:27:36.54 oxO6XS7Z.net
簡単なデバッグとしてら、まずはwithステートメントを全てコメントアウトして、動くかどうか。
あとは支店名のところをシンプルにアルファベットのAからQとかに変えてみる。

13:デフォルトの名無しさん
21/12/16 14:58:51.82 6msdMQ6g.net
reportのインスタンスを作成して、property Letでprivate変数に配列を渡した後に、docmd.openreportを行うと変数が全部初期化されるのな。
reportに表示させるものを変数で与えるのは不可能なのかなあ?
やっぱり、クエリとか一時的なテープルが必要なのかな?Openargsで出来そうだけど、数が多いと非現実的だよね。

14:13
21/12/16 15:02:05.17 6msdMQ6g.net
グローバル変数でやるべきかなあ?でも変なときに変数の寿命が来るから不安だよなあ。

15:デフォルトの名無しさん
22/02/13 16:56:03.94 eQTVIxP9.net
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 コメント、脚注および文末脚注は、本文にのみ追加できます。」というエラーが出ます。
コメント入力時にカーソルが本文外に出るのが原因かと思い、
ループの最後にカーソルを本文中(コメントを付けたワードの直後)に戻すようにしたいのですが
どのように記述したらいいのでしょうか?

16:デフォルトの名無しさん
22/03/01 18:52:06.00 gFYHZAxx.net
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関数の正しい書き方を教えてもらいたいのですが。

17:デフォルトの名無しさん
22/03/01 20:16:20.95 AZ2KEwsI.net
B列ってcells(?,1)で合ってる?
もうcells(?,"B")しか使わないから忘れた

18:デフォルトの名無しさん
22/03/01 22:26:50.78 gFYHZAxx.net
>>17
すみません。
Bは2でした…
2に訂正しても、match関数としては動かないみたいです。

19:デフォルトの名無しさん
22/03/12 08:01:57.51 rBVEQH16.net
質問です。
アクセスから書き込みパスワード付きエクセルファイルに保存するためにエクスポートします。
当然、単純にエクスポートするコードを書いたらエラーで止まります。
これが5年くらい前
最近、この手順を自動化するために
エクセルファイル側の書き込みパスワードを解除し、保存、
アクセスからエクスポートと、いうコードを書きました。
パスワードの再設定をしていないのに正常にエクスポートされ、
書き込みパスワードも正しくかかっています。
パスワード絡みの動作がおかしい気がしますが
心当たりはありますでしょうか?

20:デフォルトの名無しさん
22/03/12 08:09:55.30 rBVEQH16.net
WiNdowsを10にかえたことも影響あるかもしれま追記
せん。

21:19
22/04/09 10:45:51.24 LIGVQVYE.net
ウインドウズの更新かかったらさらに挙動が変わりましたw
質問の件ですが
もともとファイル内容の変更ではなく
新規作成で問題無い事に気づいたので
パスワードなしマクロファイルを作成→
マクロファイルからパスワード付きで新規(上書き)保存
と、二段階にしました。

22:デフォルトの名無しさん
22/05/01 14:19:41 ly+hCRMC.net
2日前まで動いていた自作のマクロが、昨日からウィルスと誤検出されて実行できなくなってしまいました
内容はseleniumでchromeを操作して特定のページを表示させるだけの比較的単純な物です

Windows Defenderの定義と、chromeとseleniumと.netは最新にしましたが改善されません
どうしたら誤検出だとシステムに教えることができるのでしょうか?

23:デフォルトの名無しさん
22/05/01 14:58:43.07 GoET9IZ/.net
署名

24:デフォルトの名無しさん
22/05/01 19:48:46 ly+hCRMC.net
デジタル証明書を作って読み込ませたら実行できるようになりました
ありがとうございました
それにしても、こんなに簡単に証明書を作れてしまうのなら、あんまり意味がない気もしますね

25:デフォルトの名無しさん
22/05/01 19:50:53 ly+hCRMC.net
とりあえず実行はできましたが、証明書を入れたら起動がとても遅くなってしまいました
誤検出だと知らせる方法もお願いします

26:デフォルトの名無しさん
22/05/06 17:09:58.99 n/glZxQ+.net
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とはどういうことでしょうか。
抽象的ですみません

27:デフォルトの名無しさん
22/05/06 18:24:20.55 +CQ2xbTl.net
自作のファンクションでGetNENDOというのを作っていて、
このファンクションは引数に指定された日付dtに対してxか月前(-x)の日付の年を返却するみたいだね。
今回はセルD11に入っている日付の3か月前の年をD12に設定しているような動作だと思う
例)D11に「2022/2/3」が入っていればD12には「2021」が設定される

28:デフォルトの名無しさん
22/05/06 19:49:29.47 vBpX51Ga.net
知恵袋さんは回答するだけしといて解説が無いから初心者にはキツイよ

29:デフォルトの名無しさん
22/05/06 22:15:14 P6mnwuPA.net
カレンダー年から会計年に変換するVBAのようだが
こんなのワークシート関数で十分なのに有り難がって使う理由が分からんよ

30:デフォルトの名無しさん
22/05/07 05:50:57.56 WpJq4eDb.net
>>29
プログラミング全般に言えることだけど、単なる数式と比較して、関数化して名前が付けてあると、他人が見た時に用途や動作がわかりやすくなるという大きなメリットがある

31:デフォルトの名無しさん
22/05/07 23:47:50.28 xbH87CjA.net
>>29
それ言い出したら、「全部0100010101000」で表現できるのにいちいちアセンブラとかありがたがって使う意味わからん、まで遡る。
抽象化は大事だよ。
あと、地の文に「有難がって」みたいなネガティブな印象の語を持ってきて、言いたいことを暗に伝えるのはやめたほうがいいと思う。
ゲスゴミがよく使うんだけど、「・・・などと訳のわからないことを言っており」とか、「行き過ぎた○○の是正を」とかの表現を使って責任逃れしつつ人や物にレッテルを貼る卑怯者に見える。
俺がゲスゴミって表現使ったのことでなんとなく俺のスタンス伝わるだろ?そういう類。

32:デフォルトの名無しさん
22/05/08 10:19:01.14 bTqMUGkM.net
>>29
ライブラリとか作ったり使ったりしたことなさそう

33:デフォルトの名無しさん
22/05/08 10:51:36.83 ZAasayov.net
>>26にある知恵遅れ袋の回答者が来てるようだな

34:デフォルトの名無しさん
22/05/08 11:57:36.38 wZiRxxsO.net
>>26
GetNENDはなんでわざわざ引数2つにしてるんだろうな
年度を求めるなら暦年との差は必ず3な訳で、
2つめの引数に3以外を指定するならGetNENDOって名前が不適切
>>33
URLリンク(detail.chiebukuro.yahoo.co.jp)
これだろ?
質問の要件が「エクセルのVBAを使って」なんだからおかしくはない

35:デフォルトの名無しさん
22/05/08 13:10:38.22 spHVpjBs.net
>>34
年度が4月始まりじゃない場面は業界によって色々ある

36:デフォルトの名無しさん
22/05/08 14:40:26.99 bTqMUGkM.net
>>35
それは事業年度
年度とだけ言う場合は4月始まりだよ

37:デフォルトの名無しさん
22/05/08 15:13:04.89 spHVpjBs.net
その関数を何の用途に使ってるか部外者にはわからない
デフォルトが何かも職場によって違う
URLリンク(cdn.img-asp.jp)

38:デフォルトの名無しさん
22/05/10 02:24:40.53 vf3aVjoi.net
知恵袋をたまに見てるとさ、無言で変な構文やなんかのサイトを張り付けて去っていく回答者いるけど、なんか不気味じゃない??

39:デフォルトの名無しさん
22/05/10 08:22:39.72 YKOd6nzx.net
事業年度や会計年度は主体・組織によって全く異なる。
会社だと3月期決算の会社は4月始まりだが、
3月期決算でない会社は世の中にたくさんある。
学校年度だって国によって違う。
4月始まりの日本は少数派。

40:デフォルトの名無しさん
22/05/10 09:44:48 rTLlCkMy.net
自転車置き場の議論

41:デフォルトの名無しさん
22/05/10 09:47:10 rTLlCkMy.net
年度が4月始まりじゃないならなおさら二つ目の引数は馬鹿丸出しだろ
普通年度始まりの月とかにしないか?

42:デフォルトの名無しさん
22/05/10 14:23:17.79 jpNs1/la.net
26です
>>27
ありがとうございました。
>>34のとおりの知恵袋です。
解説が欲しかったので助かりました

43:デフォルトの名無しさん
22/05/11 08:32:22 RGJRKSrA.net
>>42
VBAなんてExcelに該当のコード貼り付けてステップ実行もすぐできるんだからためそうぜ
「Year(DateAdd("m", -x, dt))」についてはヘルプに引数の説明が載ってるんだから見て理解しないと今後が思いやられるぞ

44:デフォルトの名無しさん
22/06/17 09:07:00.42 h3dE1ejj.net
今日の発見
Option Explicitの有無でサブフォームの選択の仕方が変わるのな
ちゃんと書かないとエラーになるコードもOption Explicitを消すと動く

45:デフォルトの名無しさん
22/06/17 09:41:15 6P0695t/.net
エラーにならないようにちゃんと書け

46:デフォルトの名無しさん
22/06/17 10:05:18.56 h3dE1ejj.net
>>45
行数が節約できるじゃん。それにOption Explicitを書かないとちゃんと動作するんだよ。
このことはどこかに書いてないかな?

47:デフォルトの名無しさん
22/06/17 12:05:13 gheAsVGh.net
自分は業務で使うちょっとしたツールをVBA使う事があるけど
Option Explicitを書いてもちゃんと動くようにコーディングするのが普通だと思うから外すつもりはないけど
行数削減目的で外すとかは絶対ないわ
若いもんに作らせて外されててつけたら動かないようなもの持ってきたら作り直させるね

48:デフォルトの名無しさん
22/06/17 13:12:56.41 6WxlvkUP.net
エラーになるってことは変数宣言されてないのが含まれてるってことだよな
ちゃんとエラーで止まるコードと何となく動くけど実はバグってる(けど気づかない)コードとどっちが良いのか良く考えなよ

49:デフォルトの名無しさん
22/06/17 13:56:57.20 gheAsVGh.net
まず「ちゃんと書いてない」部分が何かわからないから議論にならないでしょ
ただ>>44のVBAはちゃんとかかなくても動いてる(目的が達成できる)ならそれでいいと思う
自分とこの業務だったら拒否するけどね

50:44
22/06/17 16:46:52 MN10NcFA.net
購入した業務用のmdbのコードが余りに酷いからリファクタリングごっこしてるうちに見つけたんですよ。1200以上のモジュールをOption Explict化したら急にオブジェクトが見つからないとか言われて驚いたんですよ。変数宣言は1週間かけてチェック済なんですよねえ。不思議ですよねえ

51:デフォルトの名無しさん
22/06/17 17:05:38.65 qX3KJPna.net
それはOption Explict化をミスってるんじゃないか
広域で定義(または利用されて暗黙的に定義)されてる変数を
ローカルで定義したとかの可能性が高い
つか1000以上のモジュールがあって販売してるようなプログラムとは思えん作りだな

52:デフォルトの名無しさん
22/06/17 17:25:09.27 gheAsVGh.net
「ごっこ」って言葉を免罪符にしてるんだろうけど
直せないならやらなきゃいい

53:デフォルトの名無しさん
22/06/17 22:53:08.85 ai+zswsd.net
>>44
Option Explicitはあえてエラーをエラーとするようにするための記述だからな
HTMLでいうstrictだよ

54:44
22/06/18 08:43:08.28 hwKe4qoR.net
>>51
> 広域で定義(または利用されて暗黙的に定義)されてる変数を
> ローカルで定義したとかの可能性が高い
でも、Compileは通るんですよねえ。
あとで実験してみますね。
>>つか1000以上のモジュールがあって販売してるようなプログラムとは思えん作りだな
愚痴らせて下さい。
金取るくせにOption Expliciじゃないモジュールが多数。変数がなんでもかんでもVariant。変数の使い回しし放題。インデントがめちゃくちゃ。
命名規則がメチャクチャでバラバラ。
古いコードがコメントアウトで多数残ってる。何十行ものコメントアウトがたくさんあって読みにくいたらありゃしない。
戻り値を返さないFunction。戻り値が返ったと思ったら、受け取る変数はどこでも読まれない。Subでいいだろうが。
宣言だけして利用されない変数多数。空のプロシジャーを呼び出すなど無意味なコード。
とりあえず読み書きされない変数は全部削除しましたが3日かかりました。
全部変数宣言するには1週間かかりました。
分析ツールは他にも多数のDead Codeを指摘していますが、全部はできません。
酷すぎます。

55:44
22/06/18 08:49:13.02 hwKe4qoR.net
>>52
おいら、プログラマーじゃないんだよ。だから「ごっこ」と書いた。でも本はちゃんと買ってあるよ。
業務で利用しているAccessを改良しているうちに泥沼にはまったんだよ。
Accedssを初めて使ったときは変数という言葉も知らなかったよ。

56:デフォルトの名無しさん
22/06/18 10:39:04.86 hicnRT7U.net
なんにせよAccess VBAはスレチ
Explicitの綴り間違えすぎてるのも怪しいし

57:デフォルトの名無しさん
22/06/18 11:58:55.45 pdXNHIfJ.net
ここはVBAなら何でもありだと思うけどな
「Excel VBA」スレと間違えてないか?

58:デフォルトの名無しさん
22/06/18 12:55:52.02 hicnRT7U.net
>>57
まさにそっちと間違えてた
ごめんなさい

59:デフォルトの名無しさん
22/06/18 13:38:21.35 T0WefD6f.net
>>54
あるあるだね
とくに若手に作らせるとそんなもんだよ
命名規則とかインデントとか、とにかく余裕がなくて勉強してるヒマがない
納期に追われて、とりあえず動く物を作るのでせいいっぱい
まあ自分の担当になったんなら、気長に直していくこったな
俺はひどいコード直すの嫌いじゃない
最近はいいツールあるしね
インデントぐらいならほぼ一発で綺麗に直してくれるし

60:デフォルトの名無しさん
22/06/18 18:52:07.80 59smDk8e.net
購入品なら不具合出たら責任取らせればそれで済む話
リファクタリングなんて自分の勉強目的以外は無意味
自分の勉強目的ならここに愚痴だか何だかわからない書き込みをするのも無意味

61:44
22/06/18 22:31:48 yLkug1TW.net
書いてみて反応がなければよし、あれば語らう。
自由な空間で試行錯誤をすることを否定するなよ老人脳。

62:デフォルトの名無しさん
22/06/19 10:16:32.15 MMGrL0A+.net
スレも理解できない奴が他人を批判するのもどうかと思うけどな
そもそもソースすら満足に直せない奴も低能なのではないか

63:44
22/06/19 13:49:52.36 ZfwUc+SV.net
ソースは差し障りがないように改変して皆さんに相談してみたいと思います

64:デフォルトの名無しさん
22/06/19 14:32:35.71 umGSPst7.net
>Option Explicitの有無でサブフォームの選択の仕方
選択の仕方ってのがどういった状況を指してるのかわからんけど
正常に動作してる状況で宣言の有無でそれが変わる例が思いつかんわ
そこだけでもコード曝せ

65:44
22/06/19 14:36:56.35 7hrQJOKY.net
私も非常に驚いたので晒したいです。
今日は家族サービスでできないので近いうちに。

66:デフォルトの名無しさん
22/06/19 14:56:20.29 Avfsw1Xy.net
>>44
それは解決とは言えんのだな
バグり上等でとりあえず動けばいいなら

67:デフォルトの名無しさん
22/06/19 17:19:29.91 Mrl+aHBB.net
さしあたり1200以上のモジュールってのは行数のことだよね

68:デフォルトの名無しさん
22/06/19 17:50:53.92 r9O1Cbix.net
オプエクで動かなくなるのって、デフォルトプロパティあたりのタイプミスとかじゃないのかなあ
晒せるように改変してたらあっさり解決したりして

69:デフォルトの名無しさん
22/06/20 12:29:08.41 Kyf/A8dE.net
若手って何歳を指しているのよ?
まさか40代を指して若手とか定義しているのか?

70:デフォルトの名無しさん
22/06/20 12:49:30.22 qN1xu+JG.net
年齢でも勤続年数でもないのは確か
何ができたら一人前とか定義するのも不可能だし

71:デフォルトの名無しさん
22/06/20 12:58:01.87 KWqGfZyo.net
初心者の定義ならできそう
マニュアルを読まない
型を適切に使い分けない
コーディングルールを意識しない(インデントやコメント、命名規則も含む)
エラーメッセージを読まない
とにかくググらない

72:デフォルトの名無しさん
22/06/20 13:20:31 +4siy80v.net
いきなりあのマニュアルは敷居が高すぎる
とは思う。

73:デフォルトの名無しさん
22/06/20 13:30:03 6co1WthA.net
マニュアルってどれ?

74:デフォルトの名無しさん
22/06/20 13:49:54.68 +4siy80v.net
URLリンク(docs.microsoft.com)
とか。

75:デフォルトの名無しさん
22/06/20 14:10:44.70 cxkBtu38.net
>>71
それは初心者でなくバカなだけでしょ
自分ができない事の原因にそれがあったら直せといいたい

76:デフォルトの名無しさん
22/06/20 17:54:51.35 Kyf/A8dE.net
ググるっつても、見るのは当然MSヘルプのみ。
上級者はこれ。
他の訳の分からないサイトは一切見ないと聞いた

77:デフォルトの名無しさん
22/06/20 18:15:51.33 +4siy80v.net
それは構文なんかのお作法が頭に入っているから出来る話

78:デフォルトの名無しさん
22/06/20 20:25:16.63 +SBlN13D.net
>>74
リファレンスマニュアルのことをマニュアルって呼んだり読むっていう文化無かったからびっくりした
リファレンスって呼んでたし見るって言ってる
確かにマニュアルだけど

79:デフォルトの名無しさん
22/06/20 22:02:44.18 Kyf/A8dE.net
上級者はMSヘルプだけで解決と聞いた
訳の分からないサイトは参考にしないと

80:デフォルトの名無しさん
22/07/27 10:15:37 llycacgt.net
PowerPointのVBAについてご教示ください
・達成したいこと
社内作成のファイルを顧客に送付するための処理としてスライドに表示されている情報以外(個人情報、非表示スライド、ノート)を削除したい
・うまくいかないところ
ノートのスライドイメージを残しつつ、それ以外を削除すること
・試したこと
NotePage.Shapesを全削除→スライドイメージごと削除されてしまう
DocumentInspectors(4)でノート削除→ノートに貼られた図などが残る

81:デフォルトの名無しさん
22/08/06 17:28:00.48 11wPPJ/9.net
ワードVBAでの質問です.
ワードの連番フィールド(SEQフィールド)の結果を文字列で固定したいのですがどうすればいいでしょうか?
多くのフィールドは
ActiveDocument.Fields.Unlink
で固定化できるのですがSEQフィールドは対象外です.
よい方法があれば教えてください.

82:デフォルトの名無しさん
22/08/06 17:36:58.95 11wPPJ/9.net
>>81
自己レスです。
Ctrl + a、Ctrl +shift +F 9でできました。
マクロでCtrl +shift +F 9の操作を記録したのですが何も記録されませんでした。VBA には対応するコマンドはないようですね。
お騒がせしてすいませんでした。

83:デフォルトの名無しさん
22/09/20 17:19:44.79 Y1fqDNiq.net
今日ろくに考えずに書いたのが
上手く動いて驚いた
しかも期待する以上の働きを
してたわ
本当に大丈夫か心配だけど
じっくり見る気力がないわ

84:デフォルトの名無しさん
22/09/20 23:12:56.91 E6px8L9o.net
良かったね

85:デフォルトの名無しさん
22/11/05 23:23:48.77 q1vpSefi.net
WORD VBAでハイパーリンクをクリックする処理はどうすればいいでしょうか.
ハイパーリンクをクリックしたときに処理Aを同時に実行したいのですが,エクセルVBAはのようにハイパーリンクのクリックイベントがWORDVBAにはないので,逆にボタンに処理Aと塀パーリンククリックの処理を書こうとしています.
ご存知ならば教えてください.

86:デフォルトの名無しさん
22/11/06 11:57:27.78 YZhV7ZFA.net
こことか詳しいんじゃね?
URLリンク(www.tipsfound.com)
VBA絡みならこっちとかも
URLリンク(draft.ecophysical.com)

87:デフォルトの名無しさん
22/11/06 13:00:11.77 mzFwuoQr.net
>>85
環境ないから試せてないけど follow じゃないの?
URLリンク(learn.microsoft.com)

88:デフォルトの名無しさん
22/11/06 13:33:34.80 BQYduCLI.net
>>87
ありがとう
followで上手くいきました

89:デフォルトの名無しさん
23/01/15 17:27:39.34 L0piBEvX.net
a=Application.InputBox(”英数字を入力して下さい”,“~を入力“)
この入力の時に、全角モードになっていても半角英数字の入力に自動で変更する方法はないでしょうか?
sendkeys “%{kanji}“を使用すると、半角英数字になっていた時に全角モードにされてしまいます。
よろしくお願いします。

90:デフォルトの名無しさん
23/01/15 17:32:51.69 oiU86Xgn.net
>>89
URLリンク(infith.com)

91:デフォルトの名無しさん
23/01/15 17:42:11.66 L0piBEvX.net
>>90
ありがとうございます。
ここのページも見て試したのですが、実行した後に手動でセルに直接入力する場合には確かに半角英数字になるのですがinputboxからの入力ではIMEの方が強いみたいです

92:デフォルトの名無しさん
23/01/15 19:16:10.22 2OoagcjS.net
a=strconv(input…じゃだめ?

93:デフォルトの名無しさん
23/01/15 19:45:07.26 wWThixkU.net
if IMEStatus=vbIMEModeOn then
sendkeys “%{kanji}“
end if

でどうですか?

94:デフォルトの名無しさん
23/01/15 21:24:53.31 L0piBEvX.net
ありがとうございます
>>92
試してみますね
>>93
そのやり方と

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

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

msgbox IMEstatus
を置いてみると常に3を吐いています

95:デフォルトの名無しさん
23/01/15 21:28:27.42 L0piBEvX.net
>>92
入力後の半角英数字化ではなくて、入力時には半角英数字になっている状態にしたいです

96:デフォルトの名無しさん
23/01/15 21:34:46.40 oiU86Xgn.net
>>95
URLリンク(officetanaka.net)

97:デフォルトの名無しさん
23/01/16 21:05:42.36 /FEcft61.net
ユーザフォームで作るのはだめなのか?

98:デフォルトの名無しさん
23/01/26 00:20:48.77 gEJbNrm3.net
初心者です。
Excelシート上に、activeXコントロールのボタン、コンボボックス、テキストボックス貼り付け
そのプロパティ見ても、タブインデックスが見当たらない?
Excelシート上では、タブインデックスは設定不可なのですか?
教えて先輩方

99:デフォルトの名無しさん
23/01/26 01:01:02.55 XU6i0xq0.net
>>98
自動でやるのは不可能
Tabが押されたらカーソルを移動するプログラムを1つずつ自分で書く必要がある

100:デフォルトの名無しさん
23/01/26 09:05:46.22 gEJbNrm3.net
>>99
ありがとうございます

101:デフォルトの名無しさん
23/01/29 18:23:10.90 MSlBVOmY.net
アクセスVBAの質問です。
目的のフォルダーにカレントフォルダ―を変更してからファイル選択ダイアログを開こうとしていますが、カレントフォルダーが変更されません。
ChDir "C:\" & 目的フォルダー名
With Application.FileDialog(msoFileDialogOpen)
If .Show = True Then
フルパスのCSVファイル名 = .SelectedItems(1)
Else
Exit Sub
End If
End With
どこがおかしいのでしょうか?

102:デフォルトの名無しさん
23/01/29 21:03:58.49 CDZO9Bih.net
>>101
.InitialFileName

103:デフォルトの名無しさん
23/01/30 10:59:25.24 pg83Lxmz.net
>>102
ありがとうございました。
できました。
ChDir "C:\" & 目的フォルダー名
はいらないのですね。

104:デフォルトの名無しさん
23/02/04 13:27:56.94 ILEoM5pM.net
ニワかAccess使いか

105:98
23/02/05 00:51:51.83 x+/z83/X.net
>>99
フォーカスのセットができないですね
うーん

106:デフォルトの名無しさん
23/02/05 09:32:39.38 kGhYs+bB.net
>>105
フォーカスの移動だけならこのへんがヒントになるかな
URLリンク(excel-ubara.com)
ただしEnterでクリック(確定)はまたちょっとハードルが高い

107:98
23/02/05 11:03:04.93 x+/z83/X.net
>>106
ありがとうございます
調査してみます

108:デフォルトの名無しさん
23/02/07 02:06:59.91 HGM7cRGk.net
VBAが壊れたファイルってもう駄目ですか?
何か壊れた時の対策はしてますか?

109:デフォルトの名無しさん
23/02/07 02:14:49.35 u80ccXtt.net
VBAに限った話では無いけどデータ破損に備えてファイル履歴残しておくのは最低限の心構えだと思うけどな

110:44
23/02/07 14:59:58.45 PRRTh57q.net
>>108
何か改造する度にコピーを作成してクラウドで二重化しているなあ。
コマンドボタンを1個置いただけでmdbが壊れて途方に暮れてからそうしている。

111:44
23/02/07 15:17:07.11 PRRTh57q.net
外国のサイトを巡っているときに壊れたmdbを修復すると謳うユーティリティーソフトを見た覚えがあるなあ。
フリーの奴をダウンロードして使った記憶がある。俺の場合は役に立たなかったけど、試す価値はあると思う。

112:デフォルトの名無しさん
23/02/07 20:55:59.99 uVJ5qMcc.net
昔に比べりゃだいぶ減ったよねブック破損やマクロ破損は。

113:デフォルトの名無しさん
23/02/07 22:11:10.80 n590V07Z.net
俺生まれてないや

114:デフォルトの名無しさん
23/02/08 02:12:46.19 k9oPh+Xg.net
歳いくつよ?

115:デフォルトの名無しさん
23/02/08 07:56:50.95 XG6Lxj8v.net
5chは年寄の巣窟ですよ。
子供は他所で遊んだ方が良いですよ。

116:デフォルトの名無しさん
23/02/08 08:52:49.73 8aAMf1oY.net
>>111
バックドアが結構入ってるから会社ではやらん方がいいよ

117:デフォルトの名無しさん
23/02/08 16:38:02.34 WlEF04f4.net BE:439992976-PLT(15000)
URLリンク(img.5ch.net)
1.CommandButton1_Click
 ウインドウ作成
 GetWindowLongPtr→RegisterClassEx→CreateWindowEx
 作った窓のウインドウハンドルはパブリック変数に格納
2.CommandButton2_Clickで削除
 ウインドウ破棄
 DestroyWindow
3.ウインドウハンドル確認ソフトでもウインドウが消えてることを確認し、
 手順1に戻るとRegisterClassExが失敗(戻り値ゼロ)になる
何でかな?

118:デフォルトの名無しさん
23/02/09 15:34:22.41 1BKoKxeD.net
>>117
「何で」がどこを差しいているかわからんが、 2で破棄したからじゃね

119:デフォルトの名無しさん
23/02/09 18:57:14.99 7UZecPSw.net
>>118
自己解決したわ
手順3でDestroyWindowの後、UnregisterClassを入れないと駄目らしい

120:デフォルトの名無しさん
23/02/27 17:10:11.50 GEmICUaj.net
購入さたパソコンはオフィス非搭載
VBAは以前簡単なモノは作ってましたが、すっかり忘れてます。
再び勉強してみようかと思ってますが、
無料ソフトのカルクでVBAがある程度学習できるとネットでみつけましたが、これは本当に可能ですか?
pythonは大学が無料テキストを公開してますが、VBAの無料テキストは検索しても見つかりませんでした。
どこか無料テキスト公開しているサイトを知りませんか?

121:デフォルトの名無しさん
23/02/27 19:15:10.33 O7Tjun9K.net
>>120
URLリンク(learn.microsoft.com)
URLリンク(learn.microsoft.com)

122:44
23/04/20 13:04:53.21 b7y+tf5m.net
みなさん、Accessに外部からLoadFromTextを行うときに出てくる 「この操作を実行するとプロジェクトがリセットされます。実行しますか?」 を出なくする方法を知ってますか?
1000以上のモジュールをインポートしないと行けないので、1000回以上ボタンをクリックするのが面倒くさいです。

123:デフォルトの名無しさん
23/06/15 22:14:40.39 PF1syuwLY
誰た゛ったか国會で「軍隊は國民を守らない』って言ってたな
地球破壞テ囗リス├税金泥棒自閉隊か゛都心付近までクソへリやらC-130やらクソ爆音航空機飛は゛しまくって低周波騷音引き起こしてるしな
(低周波騒音kwsk→URLリンク(www.env.go.jp)
日本に原爆落とした世界最悪のならず者國家に見習うへ゛きことは、曰本に原爆落とした世界最悪のならす゛者國家憲法修正第ニ条だろ
税金という名目て゛金銭強奪して私権侵害して地球破壊するた゛けの地球に湧いた害蟲公務員と銃刀法ってのは覇権主義国家の典型なんだそ゛
某腐敗の権化か゛討ち取られた事件を日本に原爆落とした世界最惡のならず者国家では、銃刀法意味ねえし゛ゃん(直訳)って報道されとるわ
銃刀法廃止のみか゛防衛.軍事費増大とは税金泥棒どもによる侵略凖備であって軍拡竸争による壞滅リスクが高まるだけだと覚えよう!
核落とされたら軍隊など無意味、高価な通常ミサイルはウクラヰナて゛も分かるように―發撃ってほぼ死人セ゛囗,税金泥棒自閉隊存在価値ゼロ

創価学会員は,何百萬人も殺傷して損害を与えて私腹を肥やし続けて逮捕者まて゛出てる世界最惡の殺人腐敗組織公明党を
池田センセ━が囗をきけて容認するとか本氣で思ってるとしたら侮辱にもほどか゛あるぞ!
hTТΡs://i,imgur、cоm/hnli1ga.jpeg

124:デフォルトの名無しさん
23/10/12 00:31:16.03 DQl6JD4W.net
>>120
私もVBAの勉強中です
こちらのサイトは軽くて読みやすい気がします
URLリンク(www.tipsfound.com)

125:デフォルトの名無しさん
23/10/12 13:57:57.56 UgjJPXcW.net
>>120
MSのサイトでリファレンス公開されてるじゃん

126:デフォルトの名無しさん
24/02/11 15:33:19.21 xHqPXMK5.net
VBAが廃止予定とマイクロソフトから予告めいたことが出てるらしいですが、実際はどうなんでしょうか?

127:デフォルトの名無しさん
24/02/11 17:45:00.13 XgIjLyiU.net
>>126
その予告によるとVBAの移行先は何処と言ってるの?

128:デフォルトの名無しさん
24/02/11 18:01:40.17 RI7D2x7j.net
>>126
それ5年前にも10年前にも聞いたけど、10年たってもあんまり進んでないからあわてる必要は全然ない

129:デフォルトの名無しさん
24/02/11 18:03:32.03 ESz2cAkb.net
>>122
そもそも、手動で1個ずつインポートして「ダイアログを出なくする方法」を探すこと自体が間違ってる
1回で済むようにまとめるか完全自動化するのが正解

130:デフォルトの名無しさん
24/02/11 20:19:20.28 xHqPXMK5.net
>>127
Office系がWebView I/Fになり、
JavaScriptになると言ってます

131:デフォルトの名無しさん
24/02/12 08:25:23.25 RQTXNg3h.net
>>126
VBA廃止してPythonにすっからよろしくな!

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

132:デフォルトの名無しさん
24/02/12 08:37:25.50 B2pA3A78.net
Python導入辞めるって公言したの?

133:デフォルトの名無しさん
24/02/12 08:51:46.03 RQTXNg3h.net
>>132
大分前に公式フォーラムで開発者が発言してる
MS広報としての発言ではないけど

134:デフォルトの名無しさん
24/10/15 12:50:14.73 deB0cZxN.net
Python上げVBA下げしてる気持ち悪い奴ら
スレリンク(tech板)

135:デフォルトの名無しさん
25/02/03 22:35:13.90 HhGdF8Qe.net
そもそもPython導入って正式にアナウンスされたのか?

136:デフォルトの名無しさん
25/02/14 17:21:31.87 K9arCf5Dq
├ランプをリスペクトしようぜ何しろ連邦職員98%カットとか日本も見習って国土破壊省を中心とした天下り税金泥棒強盗殺人集団霞が関の
ゴミどもに腐敗まみれで寄生虫主張しかできない無能な国会議員まで98%カッ├すへ゛きだわな日銀に金刷らせてまで日本円の価値低下させて
事実上お前らから奪い取った金を盛大に自民巨額献金の大企業にくれてやって物価高騰させて付加価値型経済になるなんて信し゛てるバ力とか
さすがにもういないだろうが限られたパイを奪い合うことしかできない日本で中小零細の賃金上昇の余地なんてありはしないからな
經済の修復とは日銀が無駄金くれてやった大企業の従業員を最低賃金に統ーする法整備に6千円でクソ航空地球破壊テロできるほど余裕綽々の
現状タタ゛同然の航空燃料税を1万円/Lにして最低所得保障実現.土砂崩れ洪水、大雪,熱中症にと災害連発させて人殺しまくって海に囲まれた
日本でわざわざ陸域飛ばしまくって日本全国騒音まみれにして知的産業に威カ業務妨害して子の学習環境まで根絶やしにしてるJÅLだのAΝΑだの
テロリス├の皆殺しなくして付加価値型経済とかあり得ない話だからな
(ref.) тtps://www.call4.jP/info.phΡ?tyρе=items&id=I0000062
ttPs://haneda-projeCt.jimdofrее.com/ , tTps://flight-rouTе.com/
ttРs://n-souonhigaisosyoudan.amebaownd.com/

137:デフォルトの名無しさん
25/05/05 04:29:54.64 Q8K4+hk+.net
されてない
中の人がブログに個人の感想を書いたら勝手に尾ヒレが付いて噂が広まっただけ

138:デフォルトの名無しさん
25/05/05 08:07:23.10 nZUz3osk.net
Pythonは別の形で導入済み
py関数に生まれ変わった

139:デフォルトの名無しさん
25/05/07 23:13:39.71 5rQjCI4p.net
VBA廃止とPythonでの機能追加は関係のない話

VBAを廃止したいのは当然のこと


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch