!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること
ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
Excel VBA 質問スレ Part77
https://mevius.5ch.net/test/read.cgi/tech/1658009255/
-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
Excel VBA 質問スレ Part78
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 5f2e-juJ7)
2022/10/30(日) 13:43:16.31ID:6yf2E1Gz0116デフォルトの名無しさん (ワッチョイ a3da-stRS)
2022/11/20(日) 00:35:29.58ID:5+GQTxgS0 自分で納得できるコードが書けないのは経験が足りないだけかも
117デフォルトの名無しさん (スププ Sd02-QpwG)
2022/11/20(日) 07:09:50.84ID:LWJSK1yhd 自分でそこんところをいろいろ考えてやるのが楽しいのに
どうにでもなるようなことを聞いてる人ってプログラミング=苦痛と感じてるひとなんだろうなぁって思うわ
まぁそれならそれで仕方ないけど
どうにでもなるようなことを聞いてる人ってプログラミング=苦痛と感じてるひとなんだろうなぁって思うわ
まぁそれならそれで仕方ないけど
118デフォルトの名無しさん (オッペケ Srdf-rxZH)
2022/11/20(日) 08:11:58.08ID:aAZoxoj/r119デフォルトの名無しさん (ブーイモ MMdb-EUya)
2022/11/20(日) 08:12:58.99ID:U8ZuobNzM と、荒しが申しております。
120デフォルトの名無しさん (ミカカウィ FFeb-LEwT)
2022/11/20(日) 09:58:37.83ID:BaPmF74HF >>108
こんな感じです。
Public Function OpenedFilePath() As Variant
OpenedFilePath = Application.GetOpenFilename(FileFilter:="ExcelファイルおよびCSVファイル,*.xls*;*.csv")
If OpenedFilePath = False Then
MsgBox "ファイルが選択されませんでした。"
Exit Function
End If
Dim OpenedFileName As String
OpenedFileName = Dir(OpenedFilePath)
Dim Wb As Workbook
For Each Wb In Workbooks
If Wb.Name = OpenedFileName Then
MsgBox "選択したファイルは既に開かれています。ファイルを閉じてやり直してください。"
OpenedFilePath = False
Exit Function
End If
Next Wb
Workbooks.Open OpenedFileName, UpdateLinks:=0
End Function
Function変数「OpenedFilePath」をメインのプロシージャで何度か呼び出すのですが、
そのたびにダイヤログが開くんですよね(まあ当たり前なんですけど)。
やっぱり「OpenedFilePath」をメインのプロシージャの方でローカル変数に格納するしかないですかね。
こんな感じです。
Public Function OpenedFilePath() As Variant
OpenedFilePath = Application.GetOpenFilename(FileFilter:="ExcelファイルおよびCSVファイル,*.xls*;*.csv")
If OpenedFilePath = False Then
MsgBox "ファイルが選択されませんでした。"
Exit Function
End If
Dim OpenedFileName As String
OpenedFileName = Dir(OpenedFilePath)
Dim Wb As Workbook
For Each Wb In Workbooks
If Wb.Name = OpenedFileName Then
MsgBox "選択したファイルは既に開かれています。ファイルを閉じてやり直してください。"
OpenedFilePath = False
Exit Function
End If
Next Wb
Workbooks.Open OpenedFileName, UpdateLinks:=0
End Function
Function変数「OpenedFilePath」をメインのプロシージャで何度か呼び出すのですが、
そのたびにダイヤログが開くんですよね(まあ当たり前なんですけど)。
やっぱり「OpenedFilePath」をメインのプロシージャの方でローカル変数に格納するしかないですかね。
121デフォルトの名無しさん (オッペケ Srdf-rxZH)
2022/11/20(日) 10:09:40.70ID:JSdYtKUKr >>120
変数に入れるのが一般的だけど、どうしてもっていうならFunction全体を「OpenedFilePathが空白だったら」ってIfで囲ったらなんとかならん?
変数に入れるのが一般的だけど、どうしてもっていうならFunction全体を「OpenedFilePathが空白だったら」ってIfで囲ったらなんとかならん?
122デフォルトの名無しさん (ワッチョイ 4b5f-stRS)
2022/11/20(日) 10:21:57.15ID:ZntJwwMB0 特に理由がない限り1つのプロシージャの機能はなるべく1つに限定したほうがいい
短期的に問題無くても後々機能を使いまわしたくなった時に利便性が悪い
短期的に問題無くても後々機能を使いまわしたくなった時に利便性が悪い
123デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/20(日) 10:25:11.24ID:AxU0uBeT0 >>120
まず「Function変数」なんオレオレ用語は止めなよ、余計混乱する
> Function変数「OpenedFilePath」をメインのプロシージャで何度か呼び出すのですが、
それ何のために呼び出してるんだ?
そもそも関数内でブックをオープンするならオープンしたブックを返してメイン側ではそのブックを使えばいいだけな気がするが...
Public Sub Main()
Dim Book As WorkBook
Set Book = OpenedFilePath()
...
End Sub
Public Function OpenedFilePath() As WorkBook
Dim Path As Variant
Path = Application.GetOpenFilename(FileFilter:="ExcelファイルおよびCSVファイル,*.xls*;*.csv")
If Path = False Then
MsgBox "ファイルが選択されませんでした。"
Set OpenedFilePath = Nothing
Exit Function
End If
Dim OpenedFileName As String
OpenedFileName = Dir(Path)
Dim Wb As Workbook
For Each Wb In Workbooks
If Wb.Name = OpenedFileName Then
MsgBox "選択したファイルは既に開かれています。ファイルを閉じてやり直してください。"
Set OpenedFilePath = Nothing
Exit Function
End If
Next Wb
Set OpenedFilePath = Workbooks.Open(OpenedFileName, UpdateLinks:=0)
End Function
まず「Function変数」なんオレオレ用語は止めなよ、余計混乱する
> Function変数「OpenedFilePath」をメインのプロシージャで何度か呼び出すのですが、
それ何のために呼び出してるんだ?
そもそも関数内でブックをオープンするならオープンしたブックを返してメイン側ではそのブックを使えばいいだけな気がするが...
Public Sub Main()
Dim Book As WorkBook
Set Book = OpenedFilePath()
...
End Sub
Public Function OpenedFilePath() As WorkBook
Dim Path As Variant
Path = Application.GetOpenFilename(FileFilter:="ExcelファイルおよびCSVファイル,*.xls*;*.csv")
If Path = False Then
MsgBox "ファイルが選択されませんでした。"
Set OpenedFilePath = Nothing
Exit Function
End If
Dim OpenedFileName As String
OpenedFileName = Dir(Path)
Dim Wb As Workbook
For Each Wb In Workbooks
If Wb.Name = OpenedFileName Then
MsgBox "選択したファイルは既に開かれています。ファイルを閉じてやり直してください。"
Set OpenedFilePath = Nothing
Exit Function
End If
Next Wb
Set OpenedFilePath = Workbooks.Open(OpenedFileName, UpdateLinks:=0)
End Function
124デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/20(日) 10:37:30.36ID:j5HG04Q5H え
125デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/20(日) 10:51:14.71ID:j5HG04Q5H GetOpenFilenameでファイル選択しなかったときの返り値は
”false”
ね
FALSE
じゃないよ
糞だよ
”false”
ね
FALSE
じゃないよ
糞だよ
126デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/20(日) 10:58:27.47ID:j5HG04Q5H なんでstaticが出てこないんだよwww
Public Function OpenedFilePath() As String
'引数がtrueなら必ずダイアログを開くっての実装しようとおもったけどやめた
'OpenedFilePathは空白かどうかだけで判定。staticで変数を宣言
Static path
'空白じゃなければ終了
If (path <> "") Then
Exit Function
End If
'本体
path = Application.GetOpenFilename(FileFilter:="ExcelファイルおよびCSVファイル,*.xls*;*.csv")
'開かなかったら終了
If OpenedFilePath = "False" Then
OpenedFilePath = ""
MsgBox "ファイルが選択されませんでした。"
Exit Function
End If
End Function
Public Function OpenedFilePath() As String
'引数がtrueなら必ずダイアログを開くっての実装しようとおもったけどやめた
'OpenedFilePathは空白かどうかだけで判定。staticで変数を宣言
Static path
'空白じゃなければ終了
If (path <> "") Then
Exit Function
End If
'本体
path = Application.GetOpenFilename(FileFilter:="ExcelファイルおよびCSVファイル,*.xls*;*.csv")
'開かなかったら終了
If OpenedFilePath = "False" Then
OpenedFilePath = ""
MsgBox "ファイルが選択されませんでした。"
Exit Function
End If
End Function
127デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/20(日) 11:33:22.40ID:AxU0uBeT0 >>125
なんでそんなすぐわかる嘘つくの?
Returns False if the user cancels the dialog box.
https://learn.microsoft.com/en-us/office/vba/api/excel.application.getopenfilename
そもそもその仕様だと false というファイル名を返せないだろ、馬鹿すぎ
なんでそんなすぐわかる嘘つくの?
Returns False if the user cancels the dialog box.
https://learn.microsoft.com/en-us/office/vba/api/excel.application.getopenfilename
そもそもその仕様だと false というファイル名を返せないだろ、馬鹿すぎ
128デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/20(日) 11:34:19.38ID:AxU0uBeT0129デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/20(日) 11:44:28.04ID:j5HG04Q5H130デフォルトの名無しさん (スッップ Sd02-TaOI)
2022/11/20(日) 12:28:19.61ID:28UXg9Drd 「Workbooks.Open」のようなコードだけだとActiveBookが変わって
本来操作したいブック以外を参照してしまう事故を防ぐためにも
自分も>>123のようなコードがいいと思うな
あとはVariantはなんにでも使えてしまうから戻り値もWorkbookがいいと思うけど
private変数で宣言するならファンクションである必要もなくなりそうではあるんだが
それは前後の流れ次第かね
本来操作したいブック以外を参照してしまう事故を防ぐためにも
自分も>>123のようなコードがいいと思うな
あとはVariantはなんにでも使えてしまうから戻り値もWorkbookがいいと思うけど
private変数で宣言するならファンクションである必要もなくなりそうではあるんだが
それは前後の流れ次第かね
131デフォルトの名無しさん (ワッチョイ e219-6GUG)
2022/11/20(日) 15:20:20.30ID:BdLJ6aAN0 >>117
楽しい・・・?
そうだね、VBAは弄ってて楽しい言語だね。
何でもお手軽に作れるしグラフィカルな部分が多いから
分かりやすいし。
お手軽と言えばJavaScript もそうかな。
逆にCOBOLとか何が楽しいのか俺には理解出来ない。
楽しい・・・?
そうだね、VBAは弄ってて楽しい言語だね。
何でもお手軽に作れるしグラフィカルな部分が多いから
分かりやすいし。
お手軽と言えばJavaScript もそうかな。
逆にCOBOLとか何が楽しいのか俺には理解出来ない。
132デフォルトの名無しさん (ワッチョイ 5701-kfYZ)
2022/11/20(日) 15:36:16.68ID:CFvDfimk0 おっちゃんが理解できるようにしてやろうか?
133デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/20(日) 21:15:15.16ID:79zBHkdo0 >>100
ありがとうございます。
Dim Driver As New Selenium.WebDriver
Driver.AddArgument "credentials_enable_service=False"
Driver.AddArgument "profile.password_manager_enabled=False"
「パスワードを保存しますか?」というダイアログが表示されてしまいます。
このダイアログが邪魔でしょうがないです。
何とか消したいのですが、コード間違っていますか?
ありがとうございます。
Dim Driver As New Selenium.WebDriver
Driver.AddArgument "credentials_enable_service=False"
Driver.AddArgument "profile.password_manager_enabled=False"
「パスワードを保存しますか?」というダイアログが表示されてしまいます。
このダイアログが邪魔でしょうがないです。
何とか消したいのですが、コード間違っていますか?
134デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
2022/11/20(日) 21:44:52.90ID:XCN8LgbG0 Driver.SetPreference "credentials_enable_service", False
こうじゃない?
こうじゃない?
135デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/20(日) 22:06:06.02ID:79zBHkdo0 >>134
これも試しましたが、ダイアログが起動します、、、
うーん、困りました。
With Driver
.SetPreference "credentials_enable_service", False
.SetPreference "password_manager_enabled", False
.SetPreference "--password-store", basic
これも試しましたが、ダイアログが起動します、、、
うーん、困りました。
With Driver
.SetPreference "credentials_enable_service", False
.SetPreference "password_manager_enabled", False
.SetPreference "--password-store", basic
136デフォルトの名無しさん (ワッチョイ a3da-Xf0Y)
2022/11/20(日) 22:08:29.04ID:xkQL1DmC0 弱りましたねえ
諦めるしか
諦めるしか
137デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/20(日) 22:21:11.90ID:79zBHkdo0 最悪、しょうがないので力業でWindows APIで座標指定で「×」をクリックします。
138デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
2022/11/20(日) 22:25:06.89ID:XCN8LgbG0 >>135
ソースコード全部見せて
ソースコード全部見せて
139デフォルトの名無しさん (ワッチョイ c335-Y+uH)
2022/11/20(日) 22:41:36.64ID:kiSLDjFu0 ブラウザの操作なんかPADでやればいいじゃん
140デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
2022/11/20(日) 22:44:18.63ID:XCN8LgbG0 Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("credentials_enable_service", false);
prefs.put("profile.password_manager_enabled", false);
options.setExperimentalOption("prefs", prefs);
Javaだとこうだから
Driver.SetPreference "prefs", ...
にしないといけないのかも
prefs.put("credentials_enable_service", false);
prefs.put("profile.password_manager_enabled", false);
options.setExperimentalOption("prefs", prefs);
Javaだとこうだから
Driver.SetPreference "prefs", ...
にしないといけないのかも
141デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/20(日) 22:46:06.24ID:79zBHkdo0 >>138
色々と試しましたが、全部ダイアログが出ます、、、
Dim Driver As New Selenium.WebDriver
'パスワードを保存しますか?ダイアログを消す。(消えない)
'Driver.SetCapability "credentials_enable_service", "False"
'Driver.SetCapability "profile.password_manager_enabled", "False"
'Driver.AddArgument "credentials_enable_service=False"
'Driver.AddArgument "profile.password_manager_enabled=False"
With Driver
'.SetPreference "credentials_enable_service", False
'.SetPreference "password_manager_enabled", False
'.SetPreference "--password-store", basic
.Start "chrome"
.Get "https://hogehoge.com/"
End With
'ID
Driver.FindElementById("UserID").SendKeys "IDhoge"
'ID
Driver.FindElementById("UserPASS").SendKeys "PASShoge"
'ログインボタンをクリック
Driver.FindElementById("id_login_button").Click
色々と試しましたが、全部ダイアログが出ます、、、
Dim Driver As New Selenium.WebDriver
'パスワードを保存しますか?ダイアログを消す。(消えない)
'Driver.SetCapability "credentials_enable_service", "False"
'Driver.SetCapability "profile.password_manager_enabled", "False"
'Driver.AddArgument "credentials_enable_service=False"
'Driver.AddArgument "profile.password_manager_enabled=False"
With Driver
'.SetPreference "credentials_enable_service", False
'.SetPreference "password_manager_enabled", False
'.SetPreference "--password-store", basic
.Start "chrome"
.Get "https://hogehoge.com/"
End With
'ID
Driver.FindElementById("UserID").SendKeys "IDhoge"
'ID
Driver.FindElementById("UserPASS").SendKeys "PASShoge"
'ログインボタンをクリック
Driver.FindElementById("id_login_button").Click
142デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
2022/11/20(日) 23:19:33.15ID:XCN8LgbG0 Dim prefs
Set prefs = CreateObject("Selenium.Dictionary")
prefs("credentials_enable_service") = False
prefs("profile.password_manager_enabled") = False
driver.SetPreference "prefs", prefs
これでどう?
Set prefs = CreateObject("Selenium.Dictionary")
prefs("credentials_enable_service") = False
prefs("profile.password_manager_enabled") = False
driver.SetPreference "prefs", prefs
これでどう?
143デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/20(日) 23:54:01.57ID:79zBHkdo0 >>142
ありがとうござます。試しましたがやはダイアログが表示されます、、、
ありがとうござます。試しましたがやはダイアログが表示されます、、、
144デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
2022/11/21(月) 00:00:32.12ID:pQOpt44b0 driver.SetPreference "credentials_enable_service", False
Dim profile
Set profile = CreateObject("Selenium.Dictionary")
profile("password_manager_enabled") = False
driver.SetPreference "profile", profile
これでどう?
Dim profile
Set profile = CreateObject("Selenium.Dictionary")
profile("password_manager_enabled") = False
driver.SetPreference "profile", profile
これでどう?
145デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
2022/11/21(月) 00:11:55.56ID:pQOpt44b0 Driver.SetPreference "credentials_enable_service", False
Driver.SetPreference "profile.password_manager_enabled", False
これでできそうな気がする
Driver.SetPreference "profile.password_manager_enabled", False
これでできそうな気がする
146デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/21(月) 00:17:14.31ID:jvJhQ1Yn0147デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
2022/11/21(月) 00:42:53.42ID:pQOpt44b0 Driver.AddArgument "--password-store=basic"
Driver.SetPreference "credentials_enable_service", False
Driver.SetPreference "profile.password_manager_enabled", False
これでどう?
Driver.SetPreference "credentials_enable_service", False
Driver.SetPreference "profile.password_manager_enabled", False
これでどう?
148デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/21(月) 00:48:06.12ID:jvJhQ1Yn0149デフォルトの名無しさん (ワッチョイ c3ce-zHbW)
2022/11/21(月) 08:04:05.28ID:GlEj3eeB0 >>148
結果的に消えるならいいじゃん
そこでボタンをクリックしないと動作が止まる、とかだったら困るけど、動けばいいんだよ
てか、オプション設定のタイミングが悪いんじゃないの?Chromeを起動する前に設定してる?
結果的に消えるならいいじゃん
そこでボタンをクリックしないと動作が止まる、とかだったら困るけど、動けばいいんだよ
てか、オプション設定のタイミングが悪いんじゃないの?Chromeを起動する前に設定してる?
150デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/21(月) 08:09:22.01ID:jvJhQ1Yn0151デフォルトの名無しさん (スップ Sd22-P3Qh)
2022/11/21(月) 17:38:44.89ID:oUN57f6ld >>133
マルチポスト、更に言語の違いすらわからない馬鹿は消えろ
マルチポスト、更に言語の違いすらわからない馬鹿は消えろ
152デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/21(月) 18:02:11.22ID:KDDXOYAA0 マルチポストはどうかと思うが少なくともこっちのスレだと言語は合ってるだろ
153デフォルトの名無しさん (ワッチョイ 0e8c-7Q5q)
2022/11/21(月) 23:00:46.16ID:qzpyBUkr0 https://xtech.nikkei.com/atcl/nxt/column/18/02246/110200002/
https://cdn-xtech.nikkei.com/atcl/nxt/column/18/02246/110200002/ph1.jpg
利用しているプログラミング言語
「あなたが現在使っているプログラミング言語は何ですか」という設問に対する回答の内訳。
最大3つ選択してもらった。回答数が10以上の言語を掲載
VBA頑張ってるじゃん
Rubyの倍やん
https://cdn-xtech.nikkei.com/atcl/nxt/column/18/02246/110200002/ph1.jpg
利用しているプログラミング言語
「あなたが現在使っているプログラミング言語は何ですか」という設問に対する回答の内訳。
最大3つ選択してもらった。回答数が10以上の言語を掲載
VBA頑張ってるじゃん
Rubyの倍やん
154デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/21(月) 23:03:32.24ID:O4O9qqWgH そりゃ母数が全然違うからな
事務員どころか営業でも使う人がいる
事務員どころか営業でも使う人がいる
155デフォルトの名無しさん (ワッチョイ e219-6GUG)
2022/11/21(月) 23:12:28.50ID:+rhbDZE90 >>153
これは結構意外な結果。
HTMLとCSSが思ったより低いね。
もっと意外だったのがSQLがランクインしていないこと。
「SQLはプログラミング言語じゃねーだろ」という意見も聞こえそうだけど、
それ言ったらHTMLだってプログラミング言語かと言えば怪しいよね。
iPhoneを開発するOvjective-C辺りはCに含まれるのかな?
でもそう考えるとSwift もランクインされていない。
最近はPython が主流なのかー。
まぁRubyはさして知るべし。
これは結構意外な結果。
HTMLとCSSが思ったより低いね。
もっと意外だったのがSQLがランクインしていないこと。
「SQLはプログラミング言語じゃねーだろ」という意見も聞こえそうだけど、
それ言ったらHTMLだってプログラミング言語かと言えば怪しいよね。
iPhoneを開発するOvjective-C辺りはCに含まれるのかな?
でもそう考えるとSwift もランクインされていない。
最近はPython が主流なのかー。
まぁRubyはさして知るべし。
156デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/21(月) 23:18:34.01ID:O4O9qqWgH メインの言語がhtmlです!って人はちょっと・・・
157デフォルトの名無しさん (ワッチョイ e219-6GUG)
2022/11/21(月) 23:28:16.93ID:+rhbDZE90 よく見るとTypeScriptが追い上げてるなぁ
Web版EXCEL開発しなきゃいけなくなったとき用に少し勉強しておくかな
Web版EXCEL開発しなきゃいけなくなったとき用に少し勉強しておくかな
158デフォルトの名無しさん (スップ Sd22-P3Qh)
2022/11/22(火) 00:17:55.04ID:z+hPxvMVd >>153
rubyは毎年順位を落としている
rubyは毎年順位を落としている
159デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/22(火) 01:16:20.45ID:rA6aTIVz0 Pythoの何がいいの?C#の方がよっぽどコードが綺麗。
160デフォルトの名無しさん (ワッチョイ a3da-Xf0Y)
2022/11/22(火) 07:07:33.19ID:PnGd/teh0 VBAはバリバリ活躍してるけど、VBはもはや枯れた言語か。。
161デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/22(火) 07:14:38.51ID:5norvibI0 むしろVB(VB.NET以外)がランクインしてるのに驚いたわ
さすがに保守案件なんだろうけど
さすがに保守案件なんだろうけど
162デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/22(火) 08:25:23.22ID:jrlVPdOBH163デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/22(火) 08:29:03.16ID:jrlVPdOBH164デフォルトの名無しさん (ワッチョイ 8bad-nHGa)
2022/11/22(火) 10:15:24.80ID:YR0FNqFN0 VBAでフォームからセルに入力できるフォームを作るときにテキストボックスとセルをcontrolsauceで連結するのが一般的ですか?
今まで、読みとりボタンで、テキストボックス1=セルの値、更新ボタンで、セルの値=テキストボックス1としてたのですが、controlsauceを使った方がよいのか悩んでます
今まで、読みとりボタンで、テキストボックス1=セルの値、更新ボタンで、セルの値=テキストボックス1としてたのですが、controlsauceを使った方がよいのか悩んでます
165デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/22(火) 10:27:21.22ID:rA6aTIVz0 >>162
pythonマジでコードが気持ち悪いんだけど。
pythonマジでコードが気持ち悪いんだけど。
166デフォルトの名無しさん (ワッチョイ a3da-stRS)
2022/11/22(火) 10:38:52.48ID:4t4l6PXg0 使わなきゃいいだけなのにあえて他言語の悪口を言うのはRuby厨か
167デフォルトの名無しさん (オッペケ Srdf-rxZH)
2022/11/22(火) 12:03:51.19ID:DuxWDXCmr >>163
プログラマー以外がプログラミングしちゃいけないわけじゃないし、別に歪じゃないだろ
プログラマー以外がプログラミングしちゃいけないわけじゃないし、別に歪じゃないだろ
168デフォルトの名無しさん (オッペケ Srdf-qU2U)
2022/11/22(火) 12:11:04.68ID:KOo0nK71r 歪というか、アンケートの対象はプログラマーのみではなさそうだな
プログラマーなんて社会人の一部だし
この手のはなんかの指標として使えるものではないと自分は思ってる
プログラマーなんて社会人の一部だし
この手のはなんかの指標として使えるものではないと自分は思ってる
169デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/22(火) 12:51:18.95ID:rA6aTIVz0 pythonのメリットは何?
170デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/22(火) 13:05:26.48ID:jrlVPdOBH >>169
pythonスレへどうぞ
pythonスレへどうぞ
171デフォルトの名無しさん (ワッチョイ e219-6GUG)
2022/11/22(火) 13:50:49.13ID:gWTAVy/70 VB.Netは確かにもうMicrosoft からも.NetCoreでは更新しませんよって宣言されてた気もするし、
終わった言語と言えばそうなのかもね。
ま、でも文法こそ違うものの、中身はC#と大して変わらないから、
やるならC#でいいよ。
C#とVBA覚えておけば必然的にVB.Netも書けると思う。
終わった言語と言えばそうなのかもね。
ま、でも文法こそ違うものの、中身はC#と大して変わらないから、
やるならC#でいいよ。
C#とVBA覚えておけば必然的にVB.Netも書けると思う。
172デフォルトの名無しさん (アウアウウー Sa3b-5Xd8)
2022/11/22(火) 14:11:59.31ID:CBZvulmSa vb.netとc#って
objective-cとswiftみたいなもんじゃね
objective-cとswiftみたいなもんじゃね
173デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
2022/11/22(火) 14:54:19.77ID:0MFmILJN0 そうだな、ぜんぜん違うけどな
174デフォルトの名無しさん (ワッチョイ ef4f-95HW)
2022/11/22(火) 15:48:12.92ID:p3XTSB6d0 VBA は社員が使っている。一般人・アマチュア。
Linux, Docker, Heroku, AWS などを知っているはずがない。
Windows しか出来ない香具師
一方、Ruby on Rails は、ウェブ開発のプロ用。
ポートフォリオにも使う転職用だから、一般人よりも少なくなる
VBAが出来ても、プロとしては転職できない。
VBAが出来るから、モダンなウェブ開発企業が採用するとは思わない
Linux, Docker, Heroku, AWS などを知っているはずがない。
Windows しか出来ない香具師
一方、Ruby on Rails は、ウェブ開発のプロ用。
ポートフォリオにも使う転職用だから、一般人よりも少なくなる
VBAが出来ても、プロとしては転職できない。
VBAが出来るから、モダンなウェブ開発企業が採用するとは思わない
175デフォルトの名無しさん (ワッチョイ ef8e-P3Qh)
2022/11/22(火) 15:57:35.32ID:ntrRKrLv0 >>169
Pythonにあっという間に追い越され凋落が加速しているRubyざまあ
Pythonにあっという間に追い越され凋落が加速しているRubyざまあ
176デフォルトの名無しさん (ワッチョイ 627c-1a1Y)
2022/11/22(火) 16:01:15.96ID:byhRgCcA0 >>174
ドヤ顔で香具師とか言われても……
ドヤ顔で香具師とか言われても……
177デフォルトの名無しさん (ワッチョイ ef8e-P3Qh)
2022/11/22(火) 16:04:23.96ID:ntrRKrLv0178デフォルトの名無しさん (ワッチョイ ffda-Xf0Y)
2022/11/22(火) 18:41:56.86ID:kVcqtNac0 でもどうだろ?
60歳前後の人はVB通ってきてからVBAを始めた人多いと思うからもっと人口多いと思う。
60歳前後の人はVB通ってきてからVBAを始めた人多いと思うからもっと人口多いと思う。
179デフォルトの名無しさん (ワッチョイ e219-6GUG)
2022/11/22(火) 18:45:18.15ID:gWTAVy/70 あー、まぁ旧VB6ならそうかもね
VB.Netは完全にObject指向言語だから
そこからVBAやるってのはキツいんじゃないかな?
まぁその逆はもっとキツいと思うけど
VB.Netは完全にObject指向言語だから
そこからVBAやるってのはキツいんじゃないかな?
まぁその逆はもっとキツいと思うけど
180デフォルトの名無しさん (ワッチョイ ffda-Xf0Y)
2022/11/22(火) 18:51:44.40ID:kVcqtNac0 そういえばVBなんて言語あったなー(遠い目)
ウチにVBのリファレンス本が埃かぶってある。
ウチにVBのリファレンス本が埃かぶってある。
181デフォルトの名無しさん (ワッチョイ e7e5-Wl22)
2022/11/22(火) 19:36:41.19ID:chmk150V0 旧VBは結構な値段しただろ
使ったことがあるのはプロのプログラマーだけだよ
VBAやVB.NETは素人向け
使ったことがあるのはプロのプログラマーだけだよ
VBAやVB.NETは素人向け
182デフォルトの名無しさん (アウアウエー Sa3a-iKek)
2022/11/22(火) 21:05:06.99ID:X8yFxH5Ua ネットでサンプルコードを漁っていると配列の型を宣言するときに括弧を省いているのが多いけれどなんでだろう
Dim Array As variant
Array = Range(“A1:C10”)
とか
Dim Array as Variant
Array = TempArray
みたいに
括弧無しの方が処理が早いのだろうか
そもそも括弧有り無しの違いってなんなんだろう
Dim Array As variant
Array = Range(“A1:C10”)
とか
Dim Array as Variant
Array = TempArray
みたいに
括弧無しの方が処理が早いのだろうか
そもそも括弧有り無しの違いってなんなんだろう
183デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/22(火) 21:39:01.76ID:jrlVPdOBH >>182
vbaの配列、特に静的配列はカスって事を念頭においておいてほしい。
他の言語はここまでめんどくさくない
静的配列は要素数が決まっていて拡張性が無い。
Dim array_a(5) As Long
動的配列は要素数を変動させることができるがめんどくさい
Dim array_a() As Long
これは配列をvariant型の変数に入れてるだけで、配列の型とは関係がない
Dim array_b As Variant
array_b = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
array_b = Array(1, 2, 3, 4, 5, 6)
どれが良いかというと、variantに入れておけば大体うまくいく
動的配列や静的配列を使うのもいいけど、めんどくさいだけだよ
vbaの配列、特に静的配列はカスって事を念頭においておいてほしい。
他の言語はここまでめんどくさくない
静的配列は要素数が決まっていて拡張性が無い。
Dim array_a(5) As Long
動的配列は要素数を変動させることができるがめんどくさい
Dim array_a() As Long
これは配列をvariant型の変数に入れてるだけで、配列の型とは関係がない
Dim array_b As Variant
array_b = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
array_b = Array(1, 2, 3, 4, 5, 6)
どれが良いかというと、variantに入れておけば大体うまくいく
動的配列や静的配列を使うのもいいけど、めんどくさいだけだよ
184デフォルトの名無しさん (ワッチョイ 3b68-KP+k)
2022/11/22(火) 22:02:02.71ID:hcZiH6eO0 sub hoge
for i=1 to10
if i=5 then exit sub
next
end sub
サブルーチンのforとかloop中に
判定文でexit forどころか、exit subするのって、マズいんですかね?
メモリ喰っちゃう?
for i=1 to10
if i=5 then exit sub
next
end sub
サブルーチンのforとかloop中に
判定文でexit forどころか、exit subするのって、マズいんですかね?
メモリ喰っちゃう?
185デフォルトの名無しさん (ワッチョイ 4b5f-X61t)
2022/11/22(火) 22:10:43.92ID:h1MkuzsC0 コメント書いとけばいいんじゃね
186デフォルトの名無しさん (アウアウエー Sa3a-iKek)
2022/11/22(火) 22:18:04.27ID:X8yFxH5Ua187デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/22(火) 22:24:40.04ID:jrlVPdOBH188デフォルトの名無しさん (アウアウエー Sa3a-LEwT)
2022/11/22(火) 22:47:31.59ID:X8yFxH5Ua >>187
たとえば「シートの表を一旦二次元配列に格納して不要な行を取り除いてからシートに転記する」ってコードの場合、次のようになるでしょ?
Dim RawArr As variant
RawArr = Range("A1:E100").Value
Dim EditArr() As Variant
Redim EditArr(1 to Ubound(RawArr ,1), 1 to Ubound(RawArr ,2))
'↑これは括弧付きで配列として宣言しなければならない
Dim R as Long, C As Long, Rcount As Long
Rcount = 1
For R = 1 to Ubound(RawArr ,1)
If Not RawArr(R, 1) = "不要" Then
Rcount = Rcount +1
For C = 1 to Ubound(RawArr ,2)
EditArr(Rcount, C) = RawArr(R, C)
Next C
End If
Next R
Range("A1:E100").Value = EditArr
このコードにおいて「EditArr」を括弧付きで配列として宣言するならば「RawArr」もそれに準じた方がわかりやすいのではと思うんだよね
超細かくて申し訳ないけれど
たとえば「シートの表を一旦二次元配列に格納して不要な行を取り除いてからシートに転記する」ってコードの場合、次のようになるでしょ?
Dim RawArr As variant
RawArr = Range("A1:E100").Value
Dim EditArr() As Variant
Redim EditArr(1 to Ubound(RawArr ,1), 1 to Ubound(RawArr ,2))
'↑これは括弧付きで配列として宣言しなければならない
Dim R as Long, C As Long, Rcount As Long
Rcount = 1
For R = 1 to Ubound(RawArr ,1)
If Not RawArr(R, 1) = "不要" Then
Rcount = Rcount +1
For C = 1 to Ubound(RawArr ,2)
EditArr(Rcount, C) = RawArr(R, C)
Next C
End If
Next R
Range("A1:E100").Value = EditArr
このコードにおいて「EditArr」を括弧付きで配列として宣言するならば「RawArr」もそれに準じた方がわかりやすいのではと思うんだよね
超細かくて申し訳ないけれど
189デフォルトの名無しさん (ワッチョイ a73a-Wl22)
2022/11/22(火) 23:39:01.43ID:+p7n4F+r0 jscriptの配列をそのままvbscriptにしたら
メッチャんこ速くなったからそっちの性能はいいんじゃね?
メッチャんこ速くなったからそっちの性能はいいんじゃね?
190デフォルトの名無しさん (ワッチョイ 622f-ES6F)
2022/11/23(水) 00:24:02.68ID:6lN/+0f80 >>188
これってのが
Dim EditArr() As Variant
なら、
Dim EditArr As Variant
でも動いてるようだが?
そのまま走らせたら両方ともそこ以外で実行時エラー出てるけど
さらに言えば、ReDimするなら(Option Explicit onでも)Dimすらなくても動いたような
これってのが
Dim EditArr() As Variant
なら、
Dim EditArr As Variant
でも動いてるようだが?
そのまま走らせたら両方ともそこ以外で実行時エラー出てるけど
さらに言えば、ReDimするなら(Option Explicit onでも)Dimすらなくても動いたような
191デフォルトの名無しさん (オッペケ Srdf-rxZH)
2022/11/23(水) 03:52:19.28ID:uIyZhPcqr192デフォルトの名無しさん (ワッチョイ e219-6GUG)
2022/11/23(水) 08:25:42.71ID:/bpEmzEb0193デフォルトの名無しさん (ワッチョイ c329-AJfA)
2022/11/23(水) 17:09:12.41ID:yNj03cHV0 【速報】上司「お前のことはExcelの印刷くらい信用している」→パワハラ
広告代理店・電報堂(本社・東京都足立区)に勤務する50代の部長が20代の部下にパワハラを繰り返し、
部下をうつによる休職に追い込んだとして民事訴訟を起こされていたことが22日分かった。
訴状によると部長は部下に対し日頃から「お前のことはExcelの印刷と同じくらい信用している」
という発言を繰り返しており、その結果「どれだけ仕事をしても信用が得られない」
と感じた部下は今年5月からうつの症状を発症するようになり、現在は休職しているという。
なお上司は取材に対し「信用していると言っただけなのになぜパワハラ扱いされるのか理解できない」
と述べた。
https://kizuna.5ch.net/test/read.cgi/curry/1663509806/
広告代理店・電報堂(本社・東京都足立区)に勤務する50代の部長が20代の部下にパワハラを繰り返し、
部下をうつによる休職に追い込んだとして民事訴訟を起こされていたことが22日分かった。
訴状によると部長は部下に対し日頃から「お前のことはExcelの印刷と同じくらい信用している」
という発言を繰り返しており、その結果「どれだけ仕事をしても信用が得られない」
と感じた部下は今年5月からうつの症状を発症するようになり、現在は休職しているという。
なお上司は取材に対し「信用していると言っただけなのになぜパワハラ扱いされるのか理解できない」
と述べた。
https://kizuna.5ch.net/test/read.cgi/curry/1663509806/
194デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/23(水) 17:31:53.36ID:g5bfG+kA0 まあ言い方だろうな
Excelの印刷はたまに端や上下が切れたりするけどちゃんと手当てしてやればそこそこ使える
ワードなんかと違ってレイアウトを崩さずにページに収めるとか使える機能もあるしな
Excelの印刷はたまに端や上下が切れたりするけどちゃんと手当てしてやればそこそこ使える
ワードなんかと違ってレイアウトを崩さずにページに収めるとか使える機能もあるしな
195デフォルトの名無しさん (JP 0Hfe-stRS)
2022/11/23(水) 17:46:45.69ID:g30UJYxeH それ完全に釣りだぞ
196デフォルトの名無しさん (ワッチョイ c28b-TaOI)
2022/11/23(水) 17:54:50.35ID:WIX5xDy/0 香具師 ← 化石を久しぶりに見つけたw
197デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/23(水) 18:00:15.39ID:g5bfG+kA0198デフォルトの名無しさん (ワッチョイ ffda-Xf0Y)
2022/11/23(水) 20:28:09.45ID:Y1rfQ/KW0 ジジババかよw
199デフォルトの名無しさん (ワッチョイ a3da-stRS)
2022/11/23(水) 22:51:52.84ID:2bxJ1QPk0 そんなこと言ってると生きてる間に孫の顔みれんぞ
200デフォルトの名無しさん (ラクッペペ MM8f-22yv)
2022/11/28(月) 07:46:50.71ID:eMQ5RF7GM 独り者なら孫どころか子供もいないだろ
201デフォルトの名無しさん (JP 0Hcf-Z2Iz)
2022/11/28(月) 08:26:23.40ID:bGDdl4B7H 子供はいるけどもう20年ぐらい会ってないな
202デフォルトの名無しさん (ワッチョイ 57da-3ksn)
2022/11/28(月) 14:54:18.05ID:nQn7KMv00 悲しい話と捉えていいすか?
生き別れ
生き別れ
203デフォルトの名無しさん (ワッチョイ ffda-Z2Iz)
2022/11/28(月) 19:26:05.44ID:QIQXhRT50 面会に来てくれないのか
204デフォルトの名無しさん (ワッチョイ b7da-3ksn)
2022/11/29(火) 11:12:10.65ID:OPHrjchb0 臭い飯の感想は?
205デフォルトの名無しさん (JP 0Hcf-Z2Iz)
2022/11/29(火) 11:36:14.54ID:NIQubJ4ZH うまああああああい
206デフォルトの名無しさん (ワッチョイ b7da-3ksn)
2022/11/29(火) 17:17:30.27ID:OPHrjchb0 兄が元刑務官だけど、昔に比べればブタ箱の飯はだいぶ香ばしい匂いになったみたいだよw
207デフォルトの名無しさん (ワッチョイ ffda-emCW)
2022/11/30(水) 08:01:42.75ID:wuoQBUdg0 スタンフォード監獄実験で普通の人でもそういう仕事につくと凶暴になる実験あったな
208デフォルトの名無しさん (ワッチョイ 9f8b-RPwI)
2022/12/01(木) 12:10:59.18ID:0YLKwBCI0 >>207
実はアレはヤラセだったと関係者が暴露してる
実はアレはヤラセだったと関係者が暴露してる
209デフォルトの名無しさん (JP 0Hcb-Z2Iz)
2022/12/02(金) 07:28:51.94ID:cUj7Y7YjH 神様たち
エクセルVBAで関数内関数を作りたいのですがやり方教えてください
エクセルVBAで関数内関数を作りたいのですがやり方教えてください
210デフォルトの名無しさん (ワッチョイ 9f01-YdBL)
2022/12/02(金) 08:16:36.75ID:tKD1RDkG0 無理、はい次の方~
211デフォルトの名無しさん (アウアウウー Sa5b-qzZ5)
2022/12/02(金) 09:43:13.76ID:YgL2+bOja >>209
作る意味ないので別関数で呼び出せ
作る意味ないので別関数で呼び出せ
212デフォルトの名無しさん (スップ Sd3f-RPwI)
2022/12/02(金) 11:05:19.85ID:ZBzpMFYrd213デフォルトの名無しさん (ワッチョイ 9f01-YdBL)
2022/12/02(金) 11:25:08.14ID:tKD1RDkG0 作る意味があるケースもあるけど現状作れないし作れるようになりそうもないから議論してもしょうがない、はい次の方~
214デフォルトの名無しさん (ワッチョイ b7da-3ksn)
2022/12/02(金) 11:30:07.60ID:OZyA684d0 なんでそんな事ばかりやりたいのか
215デフォルトの名無しさん (JP 0Hcf-Z2Iz)
2022/12/02(金) 11:44:11.14ID:aS3/tvEuH 他の言語でやってるとね~やっぱ欲しいなって思う場面が出てくるんだよね~
別にテクニカルな事をしたいわけじゃないのよ~
別にテクニカルな事をしたいわけじゃないのよ~
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 今年の漢字 [ぐれ★]
- 今年の漢字は「熊」に決定! 相次ぐクマ被害 去年は「金」 [冬月記者★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 ★4 [蚤の市★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ★3 [冬月記者★]
- あぼーん
- 【速報】衆院議員定数削減法案、自民・維新が今国会成立見送りで調整 [Hitzeschleier★]
- 【悲報】札幌の只今の気温マイナス6℃(体感気温マイナス10℃)しかなくて終わる🥶 [616817505]
- 【速報】今年の漢字、「熊」!wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- なんか余裕ない人多くね
- 【悲報】団子屋の店員、あんをかき混ぜる機械に巻き込まれて死亡
- 【速報】今年のゲームオブザイヤー、Clair Obscur: Expedition 33 [779938112]
- 橋本環奈って犬嫌いなん?
