VBAを使った質問ならなんでもござれ
本来の対象であるオフィスアプリを操作する以外の話もOK
ゲーム作り、Webアクセス、外部アプリの操作
COM(ActiveX)、Win32API、.NET Framework、DirectXなどなど
VBAで実行するものであればなんでも質問してください
VBAを開発環境としていろいろ作っちゃいましょう
前スレ
VBAなんでも質問スレ
http://peace.2ch.net/test/read.cgi/tech/1342087380/
関連スレ
Excel VBA 質問スレ Part36 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/tech/1419718732/
Access VBA 質問スレ Part1
http://peace.2ch.net/test/read.cgi/tech/1328536426/
VBプログラマ質問スレ(Ver.6.0 まで) part64
http://peace.2ch.net/test/read.cgi/tech/1393069842/
Excel総合相談所 118 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/bsoft/1430352555/
探検
VBAなんでも質問スレ Part2 [転載禁止]©2ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん
2015/05/21(木) 10:52:44.71ID:KLv0vQmm887デフォルトの名無しさん
2019/06/08(土) 11:47:13.10ID:pWKWNjKi エクセル Cells(1,1)
ワード Cell(1,1)
↑
は? 何でワードにはsが無い?
ワード Cell(1,1)
↑
は? 何でワードにはsが無い?
888デフォルトの名無しさん
2019/06/08(土) 16:19:13.22ID:pA8BerVC >>886
先月に出題範囲かわったし公式でしょ
先月に出題範囲かわったし公式でしょ
889デフォルトの名無しさん
2019/06/08(土) 16:27:53.67ID:pA8BerVC >>887
Word.Selection.CellsとかRow.Cellsとかあるで
Tableには.Cell(1,1)しかないがな
ちなCellsはxy指定できんがCellはxy指定必須や
エクセルのプロパティのほうが異常なんやで
Word.Selection.CellsとかRow.Cellsとかあるで
Tableには.Cell(1,1)しかないがな
ちなCellsはxy指定できんがCellはxy指定必須や
エクセルのプロパティのほうが異常なんやで
890デフォルトの名無しさん
2019/06/12(水) 20:44:31.77ID:WUwNpP1f 新垣結衣 AVデビュー
https://www.xvideos.com/video48369883/_ai_
https://www.xvideos.com/video48369883/_ai_
891デフォルトの名無しさん
2019/06/12(水) 21:19:56.07ID:Hop9ON+a vba エキスパート は、excel ベーシック以外は公式テキストまだだから受験は待ったほうがいいですよね。
892デフォルトの名無しさん
2019/06/19(水) 04:56:48.65ID:tVNS+22r 【出資】松本卓朗 人工知能詐欺【注意】
https://rio2016.5ch.net/test/read.cgi/rikei/1560859403/
https://rio2016.5ch.net/test/read.cgi/rikei/1560859403/
893デフォルトの名無しさん
2019/06/24(月) 19:31:10.71ID:XS1zoxjN 以前word VBAの質問をした者ですが、その節はありがとうございました。
お陰様で処女作のユーザーフォームが完成しかかっているのですが、最終問題に難儀しています。
やりたい事:「保存」ボタンを押す→ActiveDocumentと同じ場所に「記録表」というフォルダを作成し、
その中に「"氏名”」というファイルを生成する。既に「記録表」のフォルダがあればフォルダは作成せず、
そちらにファイルを生成する。
なお、不特定多数のユーザーが使う前提です(保存場所を手打ちしたらユーザー名で詰む)
四苦八苦しましたが、ひとまず確認用にdesktopに生成しようとしてなんかユーザーフォルダの滅っ茶根深い場所に生成されたり、
推測で打ってみたメソッドが全く機能しなかったり(フォルダの有無を確認するようなのって何だろう)
なんというか、Excelのfxボタンみたいにメソッドの内容を教えてくれるやつ、ないんですかね…
ちなみに職場のPCはスタンドアロンでヘルプに繋がらず、自宅PCにはOfficeが入ってないです。
お陰様で処女作のユーザーフォームが完成しかかっているのですが、最終問題に難儀しています。
やりたい事:「保存」ボタンを押す→ActiveDocumentと同じ場所に「記録表」というフォルダを作成し、
その中に「"氏名”」というファイルを生成する。既に「記録表」のフォルダがあればフォルダは作成せず、
そちらにファイルを生成する。
なお、不特定多数のユーザーが使う前提です(保存場所を手打ちしたらユーザー名で詰む)
四苦八苦しましたが、ひとまず確認用にdesktopに生成しようとしてなんかユーザーフォルダの滅っ茶根深い場所に生成されたり、
推測で打ってみたメソッドが全く機能しなかったり(フォルダの有無を確認するようなのって何だろう)
なんというか、Excelのfxボタンみたいにメソッドの内容を教えてくれるやつ、ないんですかね…
ちなみに職場のPCはスタンドアロンでヘルプに繋がらず、自宅PCにはOfficeが入ってないです。
894デフォルトの名無しさん
2019/06/24(月) 22:54:40.46ID:klKakRL3895デフォルトの名無しさん
2019/06/25(火) 05:52:40.82ID:A+zOKxp7 今オフラインのヘルプって提供されてないんじゃないのか?
896デフォルトの名無しさん
2019/06/25(火) 08:17:29.97ID:uunD1dKc897デフォルトの名無しさん
2019/06/25(火) 08:27:47.11ID:uunD1dKc898デフォルトの名無しさん
2019/06/25(火) 10:33:29.10ID:aRzPCUod 公式オフラインヘルプがあったのは2013だな
2016もオフライン版があるけど英語
https://github.com/OfficeDev/VBA-content/
基本的な機能は2013からあんまり変わってないから、2013用のヘルプを入れてしまうという手もある
使い勝手は悪いけど、いつでも参照できるという利点はあるから
2016もオフライン版があるけど英語
https://github.com/OfficeDev/VBA-content/
基本的な機能は2013からあんまり変わってないから、2013用のヘルプを入れてしまうという手もある
使い勝手は悪いけど、いつでも参照できるという利点はあるから
899デフォルトの名無しさん
2019/06/26(水) 09:21:12.11ID:IYAeNPRu Activedocument.Pathで所在フォルダのパスが出せる
これとフォルダ名とファイル名繋げた文字列つくればSaveAs2の引数にできる
これとフォルダ名とファイル名繋げた文字列つくればSaveAs2の引数にできる
900デフォルトの名無しさん
2019/06/26(水) 18:32:58.67ID:pdVAutd4 質問です。excel2016の並び替え機能で
漢字、かな(あ〜ん)、アルファベット(a〜z)で並べ替えて漢字の中でも「本店」を最上位とできませんかね?
降順だと上記並びなのですが、かな(ん→あ)、アルファベット(z→a)になります。
Custumorder に「本店」を入力すると漢字中で1番下になります。
よろしくお願いします
漢字、かな(あ〜ん)、アルファベット(a〜z)で並べ替えて漢字の中でも「本店」を最上位とできませんかね?
降順だと上記並びなのですが、かな(ん→あ)、アルファベット(z→a)になります。
Custumorder に「本店」を入力すると漢字中で1番下になります。
よろしくお願いします
901デフォルトの名無しさん
2019/06/26(水) 20:26:59.08ID:JKpFRzRw >>900
本店の前にスペース入れる
本店の前にスペース入れる
902デフォルトの名無しさん
2019/06/26(水) 21:08:13.27ID:pdVAutd4903デフォルトの名無しさん
2019/07/04(木) 12:19:45.93ID:Siuy47lc Wordの表で、
ActiveDocument.Tables(2).Select
みたいに選択したいのですが、どれだけ表を分割しても、
全ての表が Tables(1) という扱いなようでエラーになります。
ひとつ前に似たようなものを組んだ時には問題なくTables(2)になりましたが、
それと構文上は全く違いはありません。
どうしたら Tables(2)という扱いになるのでしょうか。
ActiveDocument.Tables(2).Select
みたいに選択したいのですが、どれだけ表を分割しても、
全ての表が Tables(1) という扱いなようでエラーになります。
ひとつ前に似たようなものを組んだ時には問題なくTables(2)になりましたが、
それと構文上は全く違いはありません。
どうしたら Tables(2)という扱いになるのでしょうか。
904デフォルトの名無しさん
2019/07/04(木) 22:43:55.95ID:lDcVSkIh ユーザーフォーム内のコンボボックスにUSBの中にある画像一覧というフォルダ内の全ての画像名を表示したいのですがうまくいきません。
どのように変更すればよいか教えていただけませんか?
Private Sub UserForm1_load()
Dim myList As String
Dim myPath As String
Dim iName As String
myPath = "D:/画像一覧/*jpeg"
fName = Dir(myPath & "*.jpeg")
Do While iName <> ""
If myList <> "" Then
myList = myList & " " & iName
Else
myList = iName
End If
iName = Dir
Loop
If myList = "" Then Exit Sub
myList = Split(myList)
ComboBox1.List = myList
End Sub
どのように変更すればよいか教えていただけませんか?
Private Sub UserForm1_load()
Dim myList As String
Dim myPath As String
Dim iName As String
myPath = "D:/画像一覧/*jpeg"
fName = Dir(myPath & "*.jpeg")
Do While iName <> ""
If myList <> "" Then
myList = myList & " " & iName
Else
myList = iName
End If
iName = Dir
Loop
If myList = "" Then Exit Sub
myList = Split(myList)
ComboBox1.List = myList
End Sub
905デフォルトの名無しさん
2019/07/05(金) 02:42:43.50ID:grV1bh4s 取得するのが D:/画像一覧/*jpeg*.jpeg になってるとか
fName は iName の間違いじゃないのかとか
myList は String なのにSplitした後のものを代入してるとか
fName は iName の間違いじゃないのかとか
myList は String なのにSplitした後のものを代入してるとか
906デフォルトの名無しさん
2019/07/06(土) 12:30:25.64ID:z73aGQye907デフォルトの名無しさん
2019/07/25(木) 16:22:05.73ID:eKMV/4VB ExcelVBAのユーザーフォーム上で、PDFを表示、操作をしたいです。
ですが、ユーザーフォームにコントロールを追加しようとすると、
「要素が見つかりません」とダイアログが表示され出来ません。
どなたか解決策をご存じの方がいましたら、教えていただけますでしょうか。。
Acrobat pro DCはインストールしてあり、ExcelはOffice365を最新の状態で使用してます。
ですが、ユーザーフォームにコントロールを追加しようとすると、
「要素が見つかりません」とダイアログが表示され出来ません。
どなたか解決策をご存じの方がいましたら、教えていただけますでしょうか。。
Acrobat pro DCはインストールしてあり、ExcelはOffice365を最新の状態で使用してます。
908デフォルトの名無しさん
2019/07/25(木) 18:51:11.10ID:HFVXfXT2 >>907
EXCELは専用スレがあるので、そちらへどうぞ
EXCELは専用スレがあるので、そちらへどうぞ
909デフォルトの名無しさん
2019/07/26(金) 10:59:16.22ID:nW8IFIW6910デフォルトの名無しさん
2019/08/14(水) 15:00:22.98ID:Jc+eFMLQ ここで質問していいかわからないんですが、違ったら誘導していただけると助かります。
メッセージボックスを最前面にするために以下のコードを利用したいのですが、呼び出し元の下から3行目のvbOKOnly を vbYesNo に替えた後、選択ボタンを取得する方法がわかりません。
どのようなコードを足したらいいかご教示いただけないでしょうか。
【呼び出し元】
Option Explicit
Dim WSHObj
Dim Args
Set WSHobj = WScript.CreateObject("WScript.Shell")
Args = "cscript ""C:\Program Files\PPX\script\WSHPopUP.vbs""" _
& " ""出力メッセージ""" _
& " 0" _
& " ""VBS名称""" _
& " " & vbOKOnly ←vbYesNoに替える
WSHObj.Run Args,0,true
Set WSHobj = Nothing
【WSHPopUP.vbs】
Option Explicit
Dim Arg
Dim WSHObj
Set WSHobj = WScript.CreateObject("WScript.Shell")
Set Arg = WScript.Arguments
WSHObj.Popup Arg(0),Arg(1),Arg(2),Arg(3)
Set WSHobj = Nothing
よろしくお願いします。
メッセージボックスを最前面にするために以下のコードを利用したいのですが、呼び出し元の下から3行目のvbOKOnly を vbYesNo に替えた後、選択ボタンを取得する方法がわかりません。
どのようなコードを足したらいいかご教示いただけないでしょうか。
【呼び出し元】
Option Explicit
Dim WSHObj
Dim Args
Set WSHobj = WScript.CreateObject("WScript.Shell")
Args = "cscript ""C:\Program Files\PPX\script\WSHPopUP.vbs""" _
& " ""出力メッセージ""" _
& " 0" _
& " ""VBS名称""" _
& " " & vbOKOnly ←vbYesNoに替える
WSHObj.Run Args,0,true
Set WSHobj = Nothing
【WSHPopUP.vbs】
Option Explicit
Dim Arg
Dim WSHObj
Set WSHobj = WScript.CreateObject("WScript.Shell")
Set Arg = WScript.Arguments
WSHObj.Popup Arg(0),Arg(1),Arg(2),Arg(3)
Set WSHobj = Nothing
よろしくお願いします。
911デフォルトの名無しさん
2019/08/14(水) 19:26:49.04ID:uFuQVnLY 【呼び出し元】
Option Explicit
Dim WSHObj
Dim Args
Set WSHobj = WScript.CreateObject("WScript.Shell")
Args = "cscript ""C:\Program Files\PPX\script\WSHPopUP.vbs""" _
& " ""出力メッセージ""" _
& " 0" _
& " ""VBS名称""" _
& " " & vbYesNo
Dim hoge '受け取り用に追加
hoge = WSHObj.Run(Args,0,true) 'この変数hogeにvbYes=6かvbNo=7が入る。
'何か処理を書く
Set WSHobj = Nothing
【WSHPopUP.vbs】
Option Explicit
Dim Arg
Dim WSHObj
Set WSHobj = WScript.CreateObject("WScript.Shell")
Set Arg = WScript.Arguments
Dim fuga '戻り値用に追加
fuga = WSHObj.Popup Arg(0),Arg(1),Arg(2),Arg(3) 'popupの戻り値を取得
WSHObj.Quit fuga '呼び出し元に終了コードとして返す
Set WSHobj = Nothing
Option Explicit
Dim WSHObj
Dim Args
Set WSHobj = WScript.CreateObject("WScript.Shell")
Args = "cscript ""C:\Program Files\PPX\script\WSHPopUP.vbs""" _
& " ""出力メッセージ""" _
& " 0" _
& " ""VBS名称""" _
& " " & vbYesNo
Dim hoge '受け取り用に追加
hoge = WSHObj.Run(Args,0,true) 'この変数hogeにvbYes=6かvbNo=7が入る。
'何か処理を書く
Set WSHobj = Nothing
【WSHPopUP.vbs】
Option Explicit
Dim Arg
Dim WSHObj
Set WSHobj = WScript.CreateObject("WScript.Shell")
Set Arg = WScript.Arguments
Dim fuga '戻り値用に追加
fuga = WSHObj.Popup Arg(0),Arg(1),Arg(2),Arg(3) 'popupの戻り値を取得
WSHObj.Quit fuga '呼び出し元に終了コードとして返す
Set WSHobj = Nothing
912デフォルトの名無しさん
2019/08/14(水) 19:27:35.96ID:uFuQVnLY 他にExecを使う方法もある
913デフォルトの名無しさん
2019/08/14(水) 20:05:03.77ID:6C5bzX4k vbDefaultButton1 とか、そういうのじゃなくて?
914デフォルトの名無しさん
2019/08/15(木) 00:01:28.86ID:GUoAoBO9915デフォルトの名無しさん
2019/08/16(金) 11:35:25.09ID:vco+QnrA >>911
>910,>914です。
教えていただいたコードを試してみたのですが、
‘何か処理を書く
のところに
MsgBox hoge
と入れたのですが、「はい」「いいえ」どちらの場合も 0 が返されます。
どうしたらいいでしょうか
>910,>914です。
教えていただいたコードを試してみたのですが、
‘何か処理を書く
のところに
MsgBox hoge
と入れたのですが、「はい」「いいえ」どちらの場合も 0 が返されます。
どうしたらいいでしょうか
916デフォルトの名無しさん
2019/08/16(金) 13:41:00.72ID:2LlAcZB1 ???
VBAなの?
VBSなの?
MsgBox使えるのに、何でWscript使ってんの?
VBAなの?
VBSなの?
MsgBox使えるのに、何でWscript使ってんの?
917デフォルトの名無しさん
2019/08/16(金) 13:48:44.09ID:mZqFzvyq 朗報
【アプデ/10】 2019年8月14日のWindowsUpdate後、VB関連が死亡。Windows10全バージョンにて
https://asahi.5ch.net/test/read.cgi/newsplus/1565930238/
【アプデ/10】 2019年8月14日のWindowsUpdate後、VB関連が死亡。Windows10全バージョンにて
https://asahi.5ch.net/test/read.cgi/newsplus/1565930238/
918デフォルトの名無しさん
2019/08/16(金) 14:13:30.60ID:WTD6eyC3919デフォルトの名無しさん
2019/08/19(月) 10:24:33.34ID:ELmh1Bgt >>918
返信遅くなってすみません。
レスの通りに修正し、
さらに
fuga = WSHObj.Popup Arg(0),Arg(1),Arg(2),Arg(3) 'popupの戻り値を取得
↓
fuga = WSHObj.Popup(Arg(0),Arg(1),Arg(2),Arg(3)) 'popupの戻り値を取得
に変更し、成功しました。
たいへん助かりました。
ありがとうございました。
返信遅くなってすみません。
レスの通りに修正し、
さらに
fuga = WSHObj.Popup Arg(0),Arg(1),Arg(2),Arg(3) 'popupの戻り値を取得
↓
fuga = WSHObj.Popup(Arg(0),Arg(1),Arg(2),Arg(3)) 'popupの戻り値を取得
に変更し、成功しました。
たいへん助かりました。
ありがとうございました。
920デフォルトの名無しさん
2019/09/25(水) 10:50:56.65ID:L8CrQHgr WordのアクティブXコントロールのテキストボックスなのですが
BackStyleを0設定すると背景色は消えるのですが
デザインモードを解除すると背景色が出てしまいます
これはバグでしょうか
BackStyleを0設定すると背景色は消えるのですが
デザインモードを解除すると背景色が出てしまいます
これはバグでしょうか
921デフォルトの名無しさん
2019/11/05(火) 18:33:26.09ID:CrKvYzfV922デフォルトの名無しさん
2019/11/05(火) 18:35:53.47ID:CrKvYzfV923デフォルトの名無しさん
2019/11/06(水) 06:26:58.33ID:jiZZUv+M924デフォルトの名無しさん
2019/11/06(水) 06:26:59.50ID:jiZZUv+M925デフォルトの名無しさん
2019/11/21(木) 09:09:00.43ID:IRESAa/B Exchange / Outtlook VBAの質問です
初歩的な質問で申し訳ありませんが、お知恵を拝借できないでしょうか
任意の名前を持つ配布リストや連絡先グループに属するExchangeユーザーのSMTPアドレスの一覧を取得するにはどうしたら良いのでしょうか
配布リストや連絡先グループをExchange ユーザーとして取得するところまでは出来ているのですが、そこから先がうまくいきません
なお配布リスト、連絡先グループいずれも個人ユーザーのみが登録されている前提なので、再帰によるメンバー取得は不要な状況です
初歩的な質問で申し訳ありませんが、お知恵を拝借できないでしょうか
任意の名前を持つ配布リストや連絡先グループに属するExchangeユーザーのSMTPアドレスの一覧を取得するにはどうしたら良いのでしょうか
配布リストや連絡先グループをExchange ユーザーとして取得するところまでは出来ているのですが、そこから先がうまくいきません
なお配布リスト、連絡先グループいずれも個人ユーザーのみが登録されている前提なので、再帰によるメンバー取得は不要な状況です
926デフォルトの名無しさん
2019/12/31(火) 13:22:12.18ID:CEriAQ2K エスパー的にはexchangeユーザーのユーザー一覧と配布リストのユーザーの
名前を比較すればいいんじゃね
名前を比較すればいいんじゃね
927デフォルトの名無しさん
2020/04/20(月) 00:19:17.36ID:DXvjb/RZ 3日がかりの捜索ww あきらめないのな
928デフォルトの名無しさん
2020/05/10(日) 01:11:39.52ID:DSeO3ORc 3日どころじゃないぞ
929デフォルトの名無しさん
2020/05/25(月) 10:28:15.88ID:vLFHqXr3930デフォルトの名無しさん
2020/05/25(月) 12:24:29.96ID:palYJx03 半年放置で読むかね
931デフォルトの名無しさん
2020/06/10(水) 10:39:28.23ID:vabPclBn932デフォルトの名無しさん
2020/06/27(土) 08:55:28.74ID:9qJBLgyD Aex
933デフォルトの名無しさん
2020/06/27(土) 16:37:07.95ID:TjDVHLrR VBAの質問スレで質問するのはなぜ馬鹿ばっかりなのですか?
934デフォルトの名無しさん
2020/06/27(土) 16:43:50.13ID:CiV3+vm0 >>933
このスレのレベルを知ってる普通以上の人はここを頼ったりはしないから
このスレのレベルを知ってる普通以上の人はここを頼ったりはしないから
935デフォルトの名無しさん
2020/07/11(土) 22:25:50.10ID:R8+8lu0C 頼むからVBAでWin32 APIを呼び出すのはやめてくれ
そこまで要求するなら包括的な自作DLLを作ればよいと
そこまで要求するなら包括的な自作DLLを作ればよいと
936デフォルトの名無しさん
2020/07/12(日) 04:44:26.92ID:+vVO/8n9 >>935
なんでやめてほしいの?
なんでやめてほしいの?
937デフォルトの名無しさん
2020/07/12(日) 07:53:31.55ID:tbEOHCQG ものぐさが使うのがVBAなのに
いちいちDLL化なんてめんどくせえ
いちいちDLL化なんてめんどくせえ
938デフォルトの名無しさん
2020/07/12(日) 10:51:54.06ID:03QLQuvk >>936
Declare文が多すぎてコードが見づらい
Declare文が多すぎてコードが見づらい
939デフォルトの名無しさん
2020/07/12(日) 11:07:05.40ID:4WTYr4qc 見なきゃいいだろ
940デフォルトの名無しさん
2020/07/12(日) 14:43:36.83ID:HEMY1mlG Win32API使える奴がDeclare文読むの?
そりゃ、間違ってるとかおかしなのも中にゃあるけど、普通そんなとこ見ないだろ。
そりゃ、間違ってるとかおかしなのも中にゃあるけど、普通そんなとこ見ないだろ。
941デフォルトの名無しさん
2020/07/14(火) 21:09:03.79ID:66utiKuE 質問スレにも書き込んだのですが二つのieを起動して2つ目のieでpdfを開いて名前をつけて保存したいのですがexecwbを行うと一つ目のieのhtmlが選択されてしまいます。どうかやり方を教えてください。よろしくお願いします。getIEはシェル取得ファンクションです。
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate "http://yahoo.jp”
Dim ie2 As InternetExplorer
Set ie2 = CreateObject("InternetExplorer.Application")
ie2.Visible = True
ie2.Navigate2 "C:\\Desktop\test.pdf", 1
Set ie2 = getIE("test")
Dim test As String
test = "c:\test\test.pdf"
ie2.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DONTPROMPTUSER, test
End Sub
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True
ie.navigate "http://yahoo.jp”
Dim ie2 As InternetExplorer
Set ie2 = CreateObject("InternetExplorer.Application")
ie2.Visible = True
ie2.Navigate2 "C:\\Desktop\test.pdf", 1
Set ie2 = getIE("test")
Dim test As String
test = "c:\test\test.pdf"
ie2.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DONTPROMPTUSER, test
End Sub
942デフォルトの名無しさん
2020/07/14(火) 21:45:01.80ID:euO1Ygvg 初心者です。どうかお力添えをよろしくお願いします。
943デフォルトの名無しさん
2020/07/14(火) 22:53:58.63ID:euO1Ygvg すいません 自己解決しました。単純なスペルミスでした
944デフォルトの名無しさん
2020/08/03(月) 07:54:11.09ID:4AChPi7X 製品番号のフォルダ検索して中のPDFファイルを開くようなマクロ書いてるんだけど
先日Officeのアップデートしたら、件のマクロがしばらく応答なしになって
悪意のあるマクロ云々とか言われてExcel強制終了になった
それ以後そのマクロは激遅に
ブックのファイル名変えたりマクロの関数名変えたりするとしばらくは元の速度に戻るが
1日位経つとまた遅くなる
調べてみたら、VBScript.RegExpのExecuteメソッドが10秒位かかるようになってる
通常は30msで終わるような代物がだ
どうもShellやRunで一度に多数のPDFファイルを開いているのがお気に召さなかったらしく
ファイル名や関数名でアンチウィルスのブラックリストに載る?
そのあとはそれっぽい名前のメソッドが標的になり遅くなるような感じ
こういうの経験した人いる?
先日Officeのアップデートしたら、件のマクロがしばらく応答なしになって
悪意のあるマクロ云々とか言われてExcel強制終了になった
それ以後そのマクロは激遅に
ブックのファイル名変えたりマクロの関数名変えたりするとしばらくは元の速度に戻るが
1日位経つとまた遅くなる
調べてみたら、VBScript.RegExpのExecuteメソッドが10秒位かかるようになってる
通常は30msで終わるような代物がだ
どうもShellやRunで一度に多数のPDFファイルを開いているのがお気に召さなかったらしく
ファイル名や関数名でアンチウィルスのブラックリストに載る?
そのあとはそれっぽい名前のメソッドが標的になり遅くなるような感じ
こういうの経験した人いる?
945デフォルトの名無しさん
2020/08/03(月) 12:15:10.36ID:wycAObPT アンチウィルスソフトとかいうウィルスを捨てろ
946デフォルトの名無しさん
2020/08/04(火) 17:10:57.70ID:FjnHeWDC 会社のPCじゃなければそれもありだが…
paloalto trapsとかいう奴
毎回反応する訳じゃないのが嫌だし
編集中のデータも問答無用でごっそり強制終了しやがるふざけんな
paloalto trapsとかいう奴
毎回反応する訳じゃないのが嫌だし
編集中のデータも問答無用でごっそり強制終了しやがるふざけんな
947デフォルトの名無しさん
2020/08/05(水) 03:07:47.57ID:EWWIYLqc 除外指定すればエエやん
948デフォルトの名無しさん
2020/08/05(水) 09:06:26.86ID:FS19WAoY >VBScript.RegExpのExecuteが10秒
と
>ShellやRunで一度に多数のPDFファイルを開いている
の関連がわからんね
この二つは分けて原因を探るべきじゃ?
と
>ShellやRunで一度に多数のPDFファイルを開いている
の関連がわからんね
この二つは分けて原因を探るべきじゃ?
949デフォルトの名無しさん
2020/08/05(水) 09:37:11.18ID:FS19WAoY マクロ付ファイルでPDF開かせるてのは相当に怪しいと捉えられる可能性は高いね
セキュリティ変更や除外設定なんてのは出来ればしたくないだろうし引っかからないような対策があればいいがな
ShellやRunでPDF開くんじゃなくExcelもしくはWordに取り込ませるようにすると引っ掛からないかもという気がしなくもない
セキュリティ変更や除外設定なんてのは出来ればしたくないだろうし引っかからないような対策があればいいがな
ShellやRunでPDF開くんじゃなくExcelもしくはWordに取り込ませるようにすると引っ掛からないかもという気がしなくもない
950デフォルトの名無しさん
2020/08/06(木) 06:47:20.91ID:SEE4FkRy VBAから直接PDFを開くんではなく
バッチファイルを書き出し実行することで反応の確率は減ったが
アンチウイルスが反応しやすい型番とかあってよくわからん
正規表現のexecuteメソッドは「それっぽい」名前のメソッドだろ?
これがアンチウイルスが反応したときに動作してた関数から呼ばれた時だけ遅くなるんだよ
同じブック中の他の関数から呼ばれた時は高速のままだ
dir関数でフォルダ内部のファイル名取得して正規表現検索してる時だけアホみたいに遅くなる時がある
バッチファイルを書き出し実行することで反応の確率は減ったが
アンチウイルスが反応しやすい型番とかあってよくわからん
正規表現のexecuteメソッドは「それっぽい」名前のメソッドだろ?
これがアンチウイルスが反応したときに動作してた関数から呼ばれた時だけ遅くなるんだよ
同じブック中の他の関数から呼ばれた時は高速のままだ
dir関数でフォルダ内部のファイル名取得して正規表現検索してる時だけアホみたいに遅くなる時がある
951デフォルトの名無しさん
2020/09/01(火) 22:25:39.71ID:zpaWCruh VBA開発を頼まれた いくら位金額を提示したら良いか誰か教えてほしい
内容は不動在庫を15店舗くらいあグループ店の売り上げデータから引取先の候補を検索するシステム
商品のバーコードから行き先候補を検索する予定。
この内容ってアウトソーシングするといくら位?
内容は不動在庫を15店舗くらいあグループ店の売り上げデータから引取先の候補を検索するシステム
商品のバーコードから行き先候補を検索する予定。
この内容ってアウトソーシングするといくら位?
952デフォルトの名無しさん
2020/09/01(火) 22:33:35.56ID:l37i0zd6 50円
953デフォルトの名無しさん
2020/09/02(水) 00:25:45.48ID:aLOgXzIZ 余裕みて1人週
954デフォルトの名無しさん
2020/09/02(水) 07:41:48.93ID:9bMNhGbM955デフォルトの名無しさん
2020/09/02(水) 12:23:19.05ID:IJ4By44m956デフォルトの名無しさん
2020/09/04(金) 13:35:21.25ID:YrY1uJ8P 皆さま回答ありがとうございました!
957デフォルトの名無しさん
2020/09/05(土) 14:34:31.84ID:NQbTfPgu >>944
遅レスだけど
速度が遅い件は経験ありますよ
うちの環境で調べたらSYMANTECのエンドポイントは大丈夫で、MSのディフェンダーだと遅かった
Win10のバージョンも影響したかもしれないけど、現行サポート対象バージョンは、ディフェンダーだとすべて遅い
会社のPCなんでActiveDirectory、SYMANTEC、SKYSEAがスタンダードなんだけど、更新時の不具合があったんで一部のPCでディフェンダーを使ってて発覚した
VBSの内容は、多少分岐やループはあるけど正規表現を使って置換するだけの簡単なものだった
遅レスだけど
速度が遅い件は経験ありますよ
うちの環境で調べたらSYMANTECのエンドポイントは大丈夫で、MSのディフェンダーだと遅かった
Win10のバージョンも影響したかもしれないけど、現行サポート対象バージョンは、ディフェンダーだとすべて遅い
会社のPCなんでActiveDirectory、SYMANTEC、SKYSEAがスタンダードなんだけど、更新時の不具合があったんで一部のPCでディフェンダーを使ってて発覚した
VBSの内容は、多少分岐やループはあるけど正規表現を使って置換するだけの簡単なものだった
958デフォルトの名無しさん
2020/09/09(水) 22:08:05.33ID:kLG5WjnA ミッションクリティカルな仕事をVBAでやってるのに、
少し前から動かなくなって修正したくても前任者がこの世に不在+仕様書やマニュアル無し+社内プログラム分かる人いない
って状況割とよく聞くけど、まあ自分が担当することになったんだけど、これどーすりゃいいの?
何社かソフトウェア開発系の会社に話聞きにいったら、vbaはちょっと・・・とか、プログラムみてこれはちょっと・・・って反応だし
1千万超える金積むとなると役員に説明しなくちゃならないんだけど、なんでおまえがやらないの?みたいな反応だし
まあ、控えめに言ってこのまま止まり続けると会社潰れるから言い値で出すしか無いんだろうけど
こういう状況、ここに巣喰う人達はどうやって乗り越えたのかアドバイスやヒントください
転職、以外で
少し前から動かなくなって修正したくても前任者がこの世に不在+仕様書やマニュアル無し+社内プログラム分かる人いない
って状況割とよく聞くけど、まあ自分が担当することになったんだけど、これどーすりゃいいの?
何社かソフトウェア開発系の会社に話聞きにいったら、vbaはちょっと・・・とか、プログラムみてこれはちょっと・・・って反応だし
1千万超える金積むとなると役員に説明しなくちゃならないんだけど、なんでおまえがやらないの?みたいな反応だし
まあ、控えめに言ってこのまま止まり続けると会社潰れるから言い値で出すしか無いんだろうけど
こういう状況、ここに巣喰う人達はどうやって乗り越えたのかアドバイスやヒントください
転職、以外で
959デフォルトの名無しさん
2020/09/09(水) 22:09:54.34ID:vVw6LQjX ミッションクリティカルなのに止まっても平気なのか
不思議な世界観
不思議な世界観
960デフォルトの名無しさん
2020/09/09(水) 22:58:18.76ID:sZuFJhML961デフォルトの名無しさん
2020/09/09(水) 23:15:38.01ID:kLG5WjnA >>960
すげえ
社内システム作ってるところとかつてで色んなところに聞きいったけど数百万じゃ難しいって言われたんだ
分かる人には難しさっていうか、見積もりがわかるもんなんだな
参考までにどういうところを見て判断するもんなの?
偉い人に説明するときの参考にしたい
すげえ
社内システム作ってるところとかつてで色んなところに聞きいったけど数百万じゃ難しいって言われたんだ
分かる人には難しさっていうか、見積もりがわかるもんなんだな
参考までにどういうところを見て判断するもんなの?
偉い人に説明するときの参考にしたい
962デフォルトの名無しさん
2020/09/10(木) 01:17:25.37ID:Uj/ZEArt963デフォルトの名無しさん
2020/09/10(木) 01:28:39.24ID:R4ATSmnt マクロの記録をベースにしてるのは危険な感じがする
あとループの中にgotoが入ってるやつ見たときはちょっと感動した
あとループの中にgotoが入ってるやつ見たときはちょっと感動した
964デフォルトの名無しさん
2020/09/10(木) 01:35:20.13ID:fOUD4fUU vba捨ててまともなところに新しくシステム作ってもらった方が安いし早そう
965デフォルトの名無しさん
2020/09/10(木) 01:38:51.21ID:JZj4+m/A それだと社内で仕事が無くなるおっさんたちが文句言い出す
966デフォルトの名無しさん
2020/09/10(木) 12:15:12.05ID:dws80o57 住宅で喩えるなら 地場でイチから設計・施工をする在来工法のパワービルダーや
社内で設計した通り加工し現地で組み立てるだけのハウスメーカー 又は方式は
一緒だけどコスト削減に特化して現地の安い下請け使って費用を抑えるローコスト系
システムを売りにしてる企業は上で言うHMに近く、依頼すればひと声一千万は相場
PBはどんどん規模が縮小してるから探すのも大変 LCHMなら見付かるかも知らんが
要求に応じかねるレベルだと思われる
当時の社内の人間が内製したレベルならその条件、例えばExcelVBAと絞って
改修・修繕の可不可(得意かどうか)を先ず相手に問えば話が早いかも知れない
業務内容を伝えるだけだとうまく伝わらずに高額商品を売る方向に話が進み兼ねない
社内で設計した通り加工し現地で組み立てるだけのハウスメーカー 又は方式は
一緒だけどコスト削減に特化して現地の安い下請け使って費用を抑えるローコスト系
システムを売りにしてる企業は上で言うHMに近く、依頼すればひと声一千万は相場
PBはどんどん規模が縮小してるから探すのも大変 LCHMなら見付かるかも知らんが
要求に応じかねるレベルだと思われる
当時の社内の人間が内製したレベルならその条件、例えばExcelVBAと絞って
改修・修繕の可不可(得意かどうか)を先ず相手に問えば話が早いかも知れない
業務内容を伝えるだけだとうまく伝わらずに高額商品を売る方向に話が進み兼ねない
967958
2020/09/10(木) 12:19:21.40ID:Oh+8RCfx >>962
はえ〜・・・なるほどなぁ
変数名は一応業界の人なら意味が分かる程度
インデントはルールから逸脱してるのはほぼない、とおもう
コメントはあることはあるけど助けられたコメントはほぼないな
'ここで●×処理をする Sub ●×処理(・・・・・・・) みたいなw
行数はただの改行も含めると3万行くらいで
モジュールが4、functionが500、subが1500くらい
この辺が大量にあるから難しいって説明しようとしてたんだけど
数行(ステップ?)なら別にF8ポチポチしながら追えるんだよね
じゃあ足りないのは根気だろ、みたいに言われて循環複雑なんちゃらみたいなの調べてたけど
結局こんな数字だしても理解されないだろうしなぁってのと、単に俺が素人だからってのもあって今に至る
>>964
マジそれなんだけど、何をしてるのか誰もわかんないから何を作ってもらえば良いのかも説明出来ないっていうねw
世間で言われてる炎上案件よりよっぽどかわいいレベルなのかも知れないけど
マジであと数ヶ月放置して会社潰れればいいんじゃねーかとも思ってる
はえ〜・・・なるほどなぁ
変数名は一応業界の人なら意味が分かる程度
インデントはルールから逸脱してるのはほぼない、とおもう
コメントはあることはあるけど助けられたコメントはほぼないな
'ここで●×処理をする Sub ●×処理(・・・・・・・) みたいなw
行数はただの改行も含めると3万行くらいで
モジュールが4、functionが500、subが1500くらい
この辺が大量にあるから難しいって説明しようとしてたんだけど
数行(ステップ?)なら別にF8ポチポチしながら追えるんだよね
じゃあ足りないのは根気だろ、みたいに言われて循環複雑なんちゃらみたいなの調べてたけど
結局こんな数字だしても理解されないだろうしなぁってのと、単に俺が素人だからってのもあって今に至る
>>964
マジそれなんだけど、何をしてるのか誰もわかんないから何を作ってもらえば良いのかも説明出来ないっていうねw
世間で言われてる炎上案件よりよっぽどかわいいレベルなのかも知れないけど
マジであと数ヶ月放置して会社潰れればいいんじゃねーかとも思ってる
969デフォルトの名無しさん
2020/09/10(木) 12:36:48.47ID:l+lun8zf >>961
わかんねーから高めに見積もってんだよ
わかんねーから高めに見積もってんだよ
970デフォルトの名無しさん
2020/09/10(木) 13:19:24.92ID:4mlwjCSe >>967
他人の作ったプロシージャを2千個3万行解析してドキュメントを作成しながらデバッグなら1千万はまあまあ妥当かと
設備投資でたった1千万が出せない会社は遠からず潰れると思うよ
ほかの資産や設備だって千万単位の修理はいつ発生してもおかしくないし
他人の作ったプロシージャを2千個3万行解析してドキュメントを作成しながらデバッグなら1千万はまあまあ妥当かと
設備投資でたった1千万が出せない会社は遠からず潰れると思うよ
ほかの資産や設備だって千万単位の修理はいつ発生してもおかしくないし
971デフォルトの名無しさん
2020/09/10(木) 22:45:47.73ID:Oh+8RCfx >>970
詳しい人にそう言ってもらえるとたすかる
とりあえず素人がやるもんじゃ無いって話は集めたので素直に金だせやって資料作ってるw
しかし1千万つめばできちゃうってのもすげーなあ
個人にとっては大金だけど、会社にとっては中堅社員一人分/年くらいの費用だもんな
詳しい人にそう言ってもらえるとたすかる
とりあえず素人がやるもんじゃ無いって話は集めたので素直に金だせやって資料作ってるw
しかし1千万つめばできちゃうってのもすげーなあ
個人にとっては大金だけど、会社にとっては中堅社員一人分/年くらいの費用だもんな
972デフォルトの名無しさん
2020/09/11(金) 11:34:11.36ID:LThuGd0x 解析・デバッグ・ドキュメント作成でひと声一千万?
じゃ、せっかく解析できたんだしそれをベースに新システム製作費は?
パッケージから大きく外れるものだったらオリジナル新規作成?千万? 都合?千万?
せっかく途中まで分析し始めたようだし「わたしに二千万ください、これやります」でいーじゃん
じゃ、せっかく解析できたんだしそれをベースに新システム製作費は?
パッケージから大きく外れるものだったらオリジナル新規作成?千万? 都合?千万?
せっかく途中まで分析し始めたようだし「わたしに二千万ください、これやります」でいーじゃん
973デフォルトの名無しさん
2020/09/11(金) 19:07:30.23ID:0mQCTSsr >>972
日本語で
日本語で
974デフォルトの名無しさん
2020/09/13(日) 14:01:55.06ID:AJy8UwEC975デフォルトの名無しさん
2020/09/13(日) 18:15:28.87ID:/EQXGeQJ 業務止まってるのにのん気だな
せめて地方と業務とアプリぐらい概略書けば誰かがどこかを紹介するかも知れんぞ
アプリはAccessと踏んだが、どう?
どうせこのご時世、近場でなくともZoomやらでリモートしたりでのサポートだろうし
せめて地方と業務とアプリぐらい概略書けば誰かがどこかを紹介するかも知れんぞ
アプリはAccessと踏んだが、どう?
どうせこのご時世、近場でなくともZoomやらでリモートしたりでのサポートだろうし
976デフォルトの名無しさん
2020/09/16(水) 23:50:50.45ID:249cxrEP 結局余所に投げる方向で解決した
乗り越えられるものとそうじゃないものを見極めるのも大切と思い込むことにした
なお費用は想定の2倍近くになる模様w
みんなアドバイスありがとう
乗り越えられるものとそうじゃないものを見極めるのも大切と思い込むことにした
なお費用は想定の2倍近くになる模様w
みんなアドバイスありがとう
977デフォルトの名無しさん
2020/12/20(日) 00:10:44.84ID:14Mj/Q6q >>963
> ループの中にgotoが入ってるやつ見たときはちょっと感動した
Continue 文が無いメジャーな言語があってな。
GoTo Continue1
とか、書くときの隔靴掻痒感と言ったらもう・・・。
> ループの中にgotoが入ってるやつ見たときはちょっと感動した
Continue 文が無いメジャーな言語があってな。
GoTo Continue1
とか、書くときの隔靴掻痒感と言ったらもう・・・。
978デフォルトの名無しさん
2020/12/25(金) 06:38:58.19ID:wEXLIZpl もしかしてフィルタで非表示になってるセルってVBAで値参照できない?
979デフォルトの名無しさん
2020/12/26(土) 04:11:48.30ID:NJB8+QKa >>978
自己解決
自己解決
980デフォルトの名無しさん
2021/05/14(金) 13:33:45.79ID:Kf/7Ycdt WordのVBAで質問させてください。
文書内の2種類の括弧「」『』の中にある改行だけを削除するマクロを作りたいと思っています。
例えば以下のような文章に対してマクロをかけたときに
「み
か
ん」
ば
な
な
「り
ん
ご
」
以下のような結果になるマクロです。
「みかん」
ば
な
な
「りんご」
つづきます
文書内の2種類の括弧「」『』の中にある改行だけを削除するマクロを作りたいと思っています。
例えば以下のような文章に対してマクロをかけたときに
「み
か
ん」
ば
な
な
「り
ん
ご
」
以下のような結果になるマクロです。
「みかん」
ば
な
な
「りんご」
つづきます
981デフォルトの名無しさん
2021/05/14(金) 13:34:48.74ID:Kf/7Ycdt Sub 括弧内の改行を削除()
Dim myRange As Range
Set myRange = ActiveDocument.Range(0, 0)
With myRange.Find
.Text = "[「『""]*^13*[""』」]"
.Forward = True
.Wrap = wdFindStop
.MatchWildcards = True
Do While .Execute = True
With myRange.Find
.Text = "^13"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchFuzzy = False
.MatchWildcards = True
.Execute Replace:=wdReplaceAll
DoEvents
End With
Loop
End With
Set myRange = Nothing
End Sub
Dim myRange As Range
Set myRange = ActiveDocument.Range(0, 0)
With myRange.Find
.Text = "[「『""]*^13*[""』」]"
.Forward = True
.Wrap = wdFindStop
.MatchWildcards = True
Do While .Execute = True
With myRange.Find
.Text = "^13"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindStop
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchFuzzy = False
.MatchWildcards = True
.Execute Replace:=wdReplaceAll
DoEvents
End With
Loop
End With
Set myRange = Nothing
End Sub
982デフォルトの名無しさん
2021/05/14(金) 13:35:33.64ID:Kf/7Ycdt 自分なりに以上のようなマクロを組んでみたのですが、実行してみると、
最初の「みかん」の改行は削除されるのですが、そのあとの「りんご」の改行が削除されません
やり方をお教えいただけると助かります。
最初の「みかん」の改行は削除されるのですが、そのあとの「りんご」の改行が削除されません
やり方をお教えいただけると助かります。
983デフォルトの名無しさん
2021/05/14(金) 13:58:15.10ID:dwsPOlKo 馬鹿には無理
984デフォルトの名無しさん
2021/05/14(金) 20:08:25.19ID:YZr2qR8x 正規表現使えば一発じゃん。
VBAって正規表現使えるんだっけ?
VBAって正規表現使えるんだっけ?
985デフォルトの名無しさん
2021/05/14(金) 20:22:39.22ID:pWuJPMFY RegExpオブジェクトを使えば。
面倒だから俺はどうしてもというとき以外は使わない。
面倒だから俺はどうしてもというとき以外は使わない。
986デフォルトの名無しさん
2021/05/14(金) 20:24:37.07ID:6X3W89ka Wordなら最初から正規表現もどきが使えるから、Excel VBAよりはちょっとだけ楽に文字列操作ができる
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【ローソン】ロゴの「L」で誤解生んだコーヒーカップ、デザイン変更へ 在庫使い切る3か月後にリニューアル [ぐれ★]
- 今日はチートデイなのでパスタサラダ食べました
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- 5時だから窓から5回ちんこ出した
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
- リュウジ、ファミマコラボが不評だったから反論で緊急の動画回しててワロタァ
