!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part73
https://mevius.5ch.net/test/read.cgi/tech/1631485799/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part74
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ d3fd-v8OD)
2021/12/20(月) 01:40:59.22ID:jnlr9GaR0522519 (ワッチョイ a936-9BXF)
2022/01/21(金) 11:29:13.91ID:KSflUQH80 標準モジュール
Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Declare PtrSafe Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWndParent As LongPtr, ByVal hwndChildAfter As LongPtr, ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Declare PtrSafe Function EnumChildWindows Lib "user32" (ByVal hwnd As LongPtr, ByVal callBackProc As LongPtr, ByRef lParam As LongPtr) As LongPtr
Declare PtrSafe Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As LongPtr, ByVal lpString As String, ByVal cch As LongPtr) As LongPtr
Declare PtrSafe Function GetWindow Lib "user32" (ByVal hwnd As LongPtr, ByVal wCmd As LongPtr) As LongPtr
Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Declare PtrSafe Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWndParent As LongPtr, ByVal hwndChildAfter As LongPtr, ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr
Declare PtrSafe Function EnumChildWindows Lib "user32" (ByVal hwnd As LongPtr, ByVal callBackProc As LongPtr, ByRef lParam As LongPtr) As LongPtr
Declare PtrSafe Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As LongPtr, ByVal lpString As String, ByVal cch As LongPtr) As LongPtr
Declare PtrSafe Function GetWindow Lib "user32" (ByVal hwnd As LongPtr, ByVal wCmd As LongPtr) As LongPtr
523519 (ワッチョイ a936-9BXF)
2022/01/21(金) 11:35:16.64ID:KSflUQH80 標準モジュールの続きです。
Public Function EnumChildProc(ByVal hwnd As Long) As Long
Dim Ret As LongPtr
Dim Leng As LongPtr
Dim Name As String * 255
Public Function EnumChildProc(ByVal hwnd As Long) As Long
Dim Ret As LongPtr
Dim Leng As LongPtr
Dim Name As String * 255
524519 (ワッチョイ a936-9BXF)
2022/01/21(金) 11:39:21.83ID:KSflUQH80 書込みができないようで中途半端なところで切れてしまいすみません。
残り数行なのですがもう少し後で投稿します。
よろしくお願いします。
残り数行なのですがもう少し後で投稿します。
よろしくお願いします。
525デフォルトの名無しさん (ブーイモ MMf6-soNI)
2022/01/21(金) 12:02:38.78ID:Pj4yIAd6M526デフォルトの名無しさん (アウアウウー Sa05-VGE5)
2022/01/21(金) 12:24:55.64ID:R2BsGPNsa 標準モジュールからユーザーフォームを呼び出して、そこで入力された値を持ってきて処理したいです
試しにシンプルにこんな感じでやっても駄目なんですが、どうすればいいでしょうか?
標準モジュール
Option Explicit
Public ret As Boolean
Sub test()
Dim ret As Boolean: ret = False
UserForm1.Show
MsgBox ret
End Sub
ユーザーフォーム
Private Sub CommandButton1.Click()
Dim ret As Boolean
ret = True
Unload Me
End Sub
これでtestを実行すると、メッセージボックスにFalseが表示されます
ユーザーフォームが出てきてボタンをクリックしたら、Trueをメッセージボックスに表示するようにしたいです
試しにシンプルにこんな感じでやっても駄目なんですが、どうすればいいでしょうか?
標準モジュール
Option Explicit
Public ret As Boolean
Sub test()
Dim ret As Boolean: ret = False
UserForm1.Show
MsgBox ret
End Sub
ユーザーフォーム
Private Sub CommandButton1.Click()
Dim ret As Boolean
ret = True
Unload Me
End Sub
これでtestを実行すると、メッセージボックスにFalseが表示されます
ユーザーフォームが出てきてボタンをクリックしたら、Trueをメッセージボックスに表示するようにしたいです
527519 (ワッチョイ a936-9BXF)
2022/01/21(金) 12:37:47.66ID:KSflUQH80528デフォルトの名無しさん (ワッチョイ 25ce-soNI)
2022/01/21(金) 12:39:51.71ID:aZlF8gD40 >>526
標準モジュール
Option Explicit
Public ret As Boolean
Sub test()
ret = False
UserForm1.Show
MsgBox ret
End Sub
ユーザーフォーム
Private Sub CommandButton1.Click()
ret = True
End Sub
標準モジュール
Option Explicit
Public ret As Boolean
Sub test()
ret = False
UserForm1.Show
MsgBox ret
End Sub
ユーザーフォーム
Private Sub CommandButton1.Click()
ret = True
End Sub
529デフォルトの名無しさん (アウアウウー Sa05-VGE5)
2022/01/21(金) 12:47:38.25ID:R2BsGPNsa530デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/21(金) 14:13:07.69ID:U4E8wi5/0 >>519
多分引数が間違っている。ノートパッドを起動して以下を試して、
返り値の違いを確かめてみて。
修正前は0が返ってるけど、修正後はポインタか参照が返ってるはず
hwnd = FindWindow(vbNullString, "hoge") 'トップウィンド
↓
hwnd = FindWindow("notepad", vbNullString) 'トップウィンド
後は、検索ボックスがどうこう書いてるけど、そういうプログラムを持ってないから検証できないわ
多分引数が間違っている。ノートパッドを起動して以下を試して、
返り値の違いを確かめてみて。
修正前は0が返ってるけど、修正後はポインタか参照が返ってるはず
hwnd = FindWindow(vbNullString, "hoge") 'トップウィンド
↓
hwnd = FindWindow("notepad", vbNullString) 'トップウィンド
後は、検索ボックスがどうこう書いてるけど、そういうプログラムを持ってないから検証できないわ
531デフォルトの名無しさん (スップ Sd82-9BXF)
2022/01/21(金) 14:50:07.67ID:RFcu/rPfd >>526>>529
ユーザーフォーム側で「Dim ret As Boolean」を宣言するとスコープの近い変数に格納されてしまうから不要
自分も同じようなコードをかいたがなくても正しくretにTrueが入る
(「CommandButton1.Click」は構文エラーになると思うが「CommandButton1_Click」だよね)
変数がどうとかいわれるならそもそも変数がpublicでないか参照している変数名がまちがってるとかないか?
ユーザーフォーム側で「Dim ret As Boolean」を宣言するとスコープの近い変数に格納されてしまうから不要
自分も同じようなコードをかいたがなくても正しくretにTrueが入る
(「CommandButton1.Click」は構文エラーになると思うが「CommandButton1_Click」だよね)
変数がどうとかいわれるならそもそも変数がpublicでないか参照している変数名がまちがってるとかないか?
532デフォルトの名無しさん (ワッチョイ 25ce-soNI)
2022/01/21(金) 14:57:28.11ID:aZlF8gD40533デフォルトの名無しさん (スップ Sd82-9BXF)
2022/01/21(金) 15:01:17.70ID:RFcu/rPfd534デフォルトの名無しさん (アウアウウー Sa05-VGE5)
2022/01/21(金) 15:11:34.91ID:R2BsGPNsa535デフォルトの名無しさん (アウアウウー Sa05-VGE5)
2022/01/21(金) 15:17:23.81ID:R2BsGPNsa536デフォルトの名無しさん (スップ Sd82-9BXF)
2022/01/21(金) 15:22:29.45ID:RFcu/rPfd 自分はWin10(20H2)+Excel2013とWin10(21H1)+Office365(サブスクリプション版)の2つで試したけど
どちらもTrueになるね
ちなみに「ret = True」のretをマウスクリックして右クリックのメニューに出てくる「定義」を選択するとどこにジャンプする?
自分はpublic変数にとぶんだが
どちらもTrueになるね
ちなみに「ret = True」のretをマウスクリックして右クリックのメニューに出てくる「定義」を選択するとどこにジャンプする?
自分はpublic変数にとぶんだが
537デフォルトの名無しさん (ワッチョイ 25ce-soNI)
2022/01/21(金) 15:24:18.40ID:aZlF8gD40538デフォルトの名無しさん (ワッチョイ 25ce-soNI)
2022/01/21(金) 15:30:59.33ID:aZlF8gD40 >>529
Dimを外すとエラーが出るってことは、どこかで今回の件とは関係ない別の何かをタイプミスしてる
Option Explicitをコメントアウトした状態でステップ実行するとローカルウィンドウに使用中の変数の一覧が出るから、よーく見直せ
Dimを外すとエラーが出るってことは、どこかで今回の件とは関係ない別の何かをタイプミスしてる
Option Explicitをコメントアウトした状態でステップ実行するとローカルウィンドウに使用中の変数の一覧が出るから、よーく見直せ
539デフォルトの名無しさん (アウアウウー Sa05-VGE5)
2022/01/21(金) 15:46:49.49ID:R2BsGPNsa540デフォルトの名無しさん (スップ Sd82-9BXF)
2022/01/21(金) 16:13:39.82ID:RFcu/rPfd >>537
コントロールとイベントの接続文字はアンダーバーじゃない?
ピリオドで構文エラーになるけどならない場合もあるの?
>>539の作ってるサンプルは>>528通りなの?
自分のサンプルはこんな感じで作ったけど
1.新規ブック作成
2.開発メニューからエディター起動
3.プロジェクトツリーで新規フォーム作成
3.1.コマンドボタン追加
3.2.コマンドボタンダブルクリック
3.3.CommandButton1_Clickに「ret = True」を記述
結果ユーザーフォーム内のコードは下記の状態になる
Option Explicit
Private Sub CommandButton1_Click()
ret = True
End Sub
4.標準モジュール作成
4.1.下記のコードを貼り付け
Option Explicit
Public ret As Boolean
Sub test()
ret = False
UserForm1.Show
MsgBox ret
End Sub
5.test内をクリックしてF5押下で実行
コントロールとイベントの接続文字はアンダーバーじゃない?
ピリオドで構文エラーになるけどならない場合もあるの?
>>539の作ってるサンプルは>>528通りなの?
自分のサンプルはこんな感じで作ったけど
1.新規ブック作成
2.開発メニューからエディター起動
3.プロジェクトツリーで新規フォーム作成
3.1.コマンドボタン追加
3.2.コマンドボタンダブルクリック
3.3.CommandButton1_Clickに「ret = True」を記述
結果ユーザーフォーム内のコードは下記の状態になる
Option Explicit
Private Sub CommandButton1_Click()
ret = True
End Sub
4.標準モジュール作成
4.1.下記のコードを貼り付け
Option Explicit
Public ret As Boolean
Sub test()
ret = False
UserForm1.Show
MsgBox ret
End Sub
5.test内をクリックしてF5押下で実行
541デフォルトの名無しさん (ワッチョイ bd5f-CIJN)
2022/01/21(金) 16:23:57.05ID:IxcxpS5S0 ユーザーフォーム閉じるまでメッセージボックスまで行かないわけか
いつもモードレスだから気づかんかった
いつもモードレスだから気づかんかった
542デフォルトの名無しさん (アウアウウー Sa05-VGE5)
2022/01/21(金) 16:24:33.06ID:R2BsGPNsa >>540
新規ブックで一からやったらできました
組み込みたい既存のブックでやろうとしたところ、Public retに入らない感じでしたが、新しい標準モジュールを作ってやったらできました
なので、最初に書いた先の標準モジュールが原因っぽいんですが、それが何か分からない状態です
上手く動いたコードをそのまま一番上に持ってきているんですが、エラーは出ずに実行されるもPublic retにTrueが入らずにFalseになります
新規ブックで一からやったらできました
組み込みたい既存のブックでやろうとしたところ、Public retに入らない感じでしたが、新しい標準モジュールを作ってやったらできました
なので、最初に書いた先の標準モジュールが原因っぽいんですが、それが何か分からない状態です
上手く動いたコードをそのまま一番上に持ってきているんですが、エラーは出ずに実行されるもPublic retにTrueが入らずにFalseになります
543デフォルトの名無しさん (ワンミングク MM52-/2yr)
2022/01/21(金) 16:40:12.64ID:1Ed+zt1pM 理屈もわからずあちこちからコピペコピペとやってる奴によくある
そろそろ消えろや
そろそろ消えろや
544デフォルトの名無しさん (スップ Sd82-9BXF)
2022/01/21(金) 16:45:47.13ID:uPLc80ynd ファイルもみてないからなんともいえないけどボタンに紐づけたイベントは正しく実行されるの?
ret = Trueの行でF9おすとブレークポイント設定されるからそこで止まるかたしかめたら?
それで止まったなら1行ステップ進めてretに何が入ってるか確認したほうがいいよ
モノづくりするときは1つずつつぶしていくのが大事よ
ret = Trueの行でF9おすとブレークポイント設定されるからそこで止まるかたしかめたら?
それで止まったなら1行ステップ進めてretに何が入ってるか確認したほうがいいよ
モノづくりするときは1つずつつぶしていくのが大事よ
545デフォルトの名無しさん (ワッチョイ cd2f-Nrkm)
2022/01/21(金) 19:18:17.67ID:vzv4Kcp20 標準モジュールじゃなくてThisWorkbookに書いてる予感
546デフォルトの名無しさん (ワッチョイ 023e-xE4Q)
2022/01/21(金) 19:27:54.79ID:7hLshO/z0 インターネットのブラウザ IEとかedgeとかで任意のページを開いてそこから日付とか番号とか特定の決まった箇所にある文字や数字をWordの特定の場所にコピー、挿入する方法はありますか?
できればボタンひとつでできるようになりたいです
できればボタンひとつでできるようになりたいです
547デフォルトの名無しさん (スップ Sd82-9BXF)
2022/01/21(金) 19:45:58.42ID:uPLc80ynd あります。
「vba スクレイピング」「vba word 操作」でぐぐればいくらでもサンプル出てくると思うから好きなのえらぼう
「vba スクレイピング」「vba word 操作」でぐぐればいくらでもサンプル出てくると思うから好きなのえらぼう
548デフォルトの名無しさん (ワッチョイ 6e8e-SRyr)
2022/01/21(金) 22:29:10.29ID:NFZs9l3R0 >>546
Ruby馬鹿だろ
Ruby馬鹿だろ
549デフォルトの名無しさん (ワッチョイ bd5f-2j/7)
2022/01/21(金) 22:34:52.59ID:nlcE6d040 整然としてねえコーディングだな。
頭の中身が現れてるわ。
頭の中身が現れてるわ。
550デフォルトの名無しさん (ワッチョイ bd5f-2j/7)
2022/01/21(金) 22:37:38.53ID:nlcE6d040551デフォルトの名無しさん (ワッチョイ 82da-gAlZ)
2022/01/22(土) 00:26:58.95ID:XmCgkfSL0 コピペプログラマー
552デフォルトの名無しさん (ワッチョイ 827c-823B)
2022/01/22(土) 00:35:52.61ID:9zfa7ona0553デフォルトの名無しさん (ブーイモ MMcd-soNI)
2022/01/22(土) 01:04:10.75ID:NynwR7VqM >>552
どの言語でも外部ライブラリは必要
どの言語でも外部ライブラリは必要
554デフォルトの名無しさん (ワッチョイ a963-nIc1)
2022/01/22(土) 08:00:34.93ID:HGIIomOF0 他社製のweb受注システムから社内の生産管理システムに流し込むときにやったな
CSVダウンロードくらい用意しろってんだ
CSVダウンロードくらい用意しろってんだ
555デフォルトの名無しさん (ワッチョイ 024f-f5bc)
2022/01/22(土) 08:21:46.11ID:R1iyPI8Z0 >>550
同意
どうせ深くWeb系を扱うのであればJavascriptは必須になってくるから勉強するに越したことはないと思うよ。
VBSもVBAの知識があれば何とかなる・・・多分。
IISの知識があればそれでクラシックASPの出来上がりですよ。
本格的にやるならASP.NetだけどObject指向の概念が分かっていないとVBAからだとVB.Netでも少し敷居が高いかも。
どうせWeb版のEXCELとか弄るときはJavascriptだし、今の内に慣れておいた方がいいと思う。
同意
どうせ深くWeb系を扱うのであればJavascriptは必須になってくるから勉強するに越したことはないと思うよ。
VBSもVBAの知識があれば何とかなる・・・多分。
IISの知識があればそれでクラシックASPの出来上がりですよ。
本格的にやるならASP.NetだけどObject指向の概念が分かっていないとVBAからだとVB.Netでも少し敷居が高いかも。
どうせWeb版のEXCELとか弄るときはJavascriptだし、今の内に慣れておいた方がいいと思う。
556デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/22(土) 08:34:08.56ID:DLYfLGcJ0557デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/22(土) 08:36:01.91ID:DLYfLGcJ0 chromeの拡張機能でスクレイピングするのが最も安心安全
サーバーからすれば一番ユーザーに近い
IEは対応してないどころかもうすぐなくなる。
そういやvbaのブラウザはどうなるんだろ?
サーバーからすれば一番ユーザーに近い
IEは対応してないどころかもうすぐなくなる。
そういやvbaのブラウザはどうなるんだろ?
558デフォルトの名無しさん (ワッチョイ f901-Nrkm)
2022/01/22(土) 10:08:57.53ID:r24PNXTk0 for i= 1 to 100 step 1
#If conEnv = 1 Then
ans = d1 * d2
#Else
ans = d1 / d2
#End If
Next i
こんな感じに条件付きコンパイルをしてる場合、
ループ毎にIF判定してるんですか?
#If conEnv = 1 Then
ans = d1 * d2
#Else
ans = d1 / d2
#End If
Next i
こんな感じに条件付きコンパイルをしてる場合、
ループ毎にIF判定してるんですか?
559デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/22(土) 10:56:45.31ID:DLYfLGcJ0 >>558
しない
条件つきコンパイルってのは、実行前にコードを書き換えるようなものと思って良い。実行後は消えて無くなると思って良い。
>>558は、以下と同等に解釈される
Sub foo()
For i = 1 To 100 Step 1
conEnv = 1
ans = d1 + d2
Next i
End Sub
ちなみにこれも上記と同じ。 ans = d1 * d2 は実行されない
for i= 1 to 100 step 1
conEnv = 1
#If conEnv = 1 Then
ans = d1 * d2
#Else
ans = d1 / d2
#End If
Next i
分岐させたいならこう
for i= 1 to 100 step 1
#conEnv = 1
#If conEnv = 1 Then
ans = d1 * d2
#Else
ans = d1 / d2
#End If
Next i
しない
条件つきコンパイルってのは、実行前にコードを書き換えるようなものと思って良い。実行後は消えて無くなると思って良い。
>>558は、以下と同等に解釈される
Sub foo()
For i = 1 To 100 Step 1
conEnv = 1
ans = d1 + d2
Next i
End Sub
ちなみにこれも上記と同じ。 ans = d1 * d2 は実行されない
for i= 1 to 100 step 1
conEnv = 1
#If conEnv = 1 Then
ans = d1 * d2
#Else
ans = d1 / d2
#End If
Next i
分岐させたいならこう
for i= 1 to 100 step 1
#conEnv = 1
#If conEnv = 1 Then
ans = d1 * d2
#Else
ans = d1 / d2
#End If
Next i
560デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/22(土) 11:00:33.05ID:DLYfLGcJ0 あと、下手に条件つきコンパイルは本当にやめたほうがいい。絶対にややこしくなる
唯一使える最適な場面は、コンパイル時にエラーが起こる可能性がある箇所。
パッと思いつくのは、バージョン違いへの対応程度
テスト環境の切り替え〜という人もいるけど、関数でどうこうするのと変わらん
唯一使える最適な場面は、コンパイル時にエラーが起こる可能性がある箇所。
パッと思いつくのは、バージョン違いへの対応程度
テスト環境の切り替え〜という人もいるけど、関数でどうこうするのと変わらん
561デフォルトの名無しさん (ワッチョイ f901-Nrkm)
2022/01/22(土) 12:09:48.37ID:r24PNXTk0562デフォルトの名無しさん (ブーイモ MMe5-soNI)
2022/01/22(土) 12:12:56.15ID:Zx7T2GTSM563デフォルトの名無しさん (ワッチョイ 6e10-823B)
2022/01/22(土) 12:58:31.26ID:2RwNzJk50 .netだとWebView2が使えて便利なんだけど実装されないかな
ついでにコントロールのスクロールをマウスでできるようにして欲しい
ついでにコントロールのスクロールをマウスでできるようにして欲しい
564デフォルトの名無しさん (ワッチョイ 6e8e-SRyr)
2022/01/22(土) 13:04:36.26ID:6LO0uF920 ID:DLYfLGcJ0
こいついつもの馬鹿か
こいついつもの馬鹿か
565デフォルトの名無しさん (ワッチョイ 8d68-e0vW)
2022/01/22(土) 13:13:07.59ID:DLYfLGcJ0 笑w
566デフォルトの名無しさん (ワッチョイ 8242-q4UN)
2022/01/22(土) 13:50:16.42ID:RiKtYPqw0 頭痛が痛い
567デフォルトの名無しさん (ワッチョイ 7fda-4V6Q)
2022/01/22(土) 19:51:56.45ID:NrxysVpy0 バファリン飲め
568デフォルトの名無しさん (ワッチョイ 5fda-oAy5)
2022/01/22(土) 22:48:31.49ID:XmCgkfSL0 頼んでもないのに長々と知識披露してくる人ってなんなんだろうね?
569デフォルトの名無しさん (ワッチョイ a768-kzOy)
2022/01/22(土) 23:15:30.08ID:DLYfLGcJ0 知識の共有だろ
俺は好きだから長文どんどん書いていいぞ
歴史的経緯とかがあると尚グッド
俺は好きだから長文どんどん書いていいぞ
歴史的経緯とかがあると尚グッド
570デフォルトの名無しさん (ワッチョイ 7f8e-4Ql0)
2022/01/23(日) 00:04:39.53ID:MiYFwUbv0 >>569
馬鹿が嘘を書くなよ
馬鹿が嘘を書くなよ
571デフォルトの名無しさん (ワッチョイ a768-kzOy)
2022/01/23(日) 00:35:00.90ID:HSIItn8m0 めっちゃ怒ってて草w
572デフォルトの名無しさん (ワッチョイ 5f7c-U/bu)
2022/01/23(日) 00:38:42.06ID:sfiZCcaw0 >>569
TK80から語り出すがいいのか?
TK80から語り出すがいいのか?
573デフォルトの名無しさん (ワッチョイ a768-kzOy)
2022/01/23(日) 00:41:37.63ID:HSIItn8m0574デフォルトの名無しさん (ワッチョイ 5fda-oAy5)
2022/01/23(日) 13:50:31.72ID:SdYMRJnE0 今時5chの専門版に張り付いてる異常者なんて現実じゃ誰にも相手にされない教えたがりおじさんぐらいしか居ないんだから
その辺弁えてもっと敬意持って質問しろよ
その辺弁えてもっと敬意持って質問しろよ
575デフォルトの名無しさん (ワッチョイ a768-kzOy)
2022/01/23(日) 18:52:30.22ID:HSIItn8m0 条件付きコンパイルで、OSのバージョン違い以外の使い方ってありますか?
576デフォルトの名無しさん (ブーイモ MMcf-IuBN)
2022/01/23(日) 19:43:03.21ID:2ddsSarEM577デフォルトの名無しさん (ワッチョイ a768-kzOy)
2022/01/23(日) 23:04:13.46ID:HSIItn8m0 ようやっと終わる
米Microsoftは1月19日(現地時間)、「Excel 4.0」(XLM)マクロを予定通りデフォルト無効化したと発表した。「Excel 4.0」マクロの利用を制限するオプションは昨年7
https://news.yahoo.co.jp/articles/8e4dd5e97b3b094d0d98e692b48e65864848136c
米Microsoftは1月19日(現地時間)、「Excel 4.0」(XLM)マクロを予定通りデフォルト無効化したと発表した。「Excel 4.0」マクロの利用を制限するオプションは昨年7
https://news.yahoo.co.jp/articles/8e4dd5e97b3b094d0d98e692b48e65864848136c
578デフォルトの名無しさん (アウアウウー Sa4b-ZIwK)
2022/01/24(月) 10:20:53.44ID:7Kajjflda >>575
好きに使えばいいと思う
好きに使えばいいと思う
579デフォルトの名無しさん (ワッチョイ 275f-8IZx)
2022/01/24(月) 10:34:32.16ID:0XRM59Ri0 ClassモジュールとFunction と
多次元配列を使いまくると
優秀に見られるよ。
多次元配列を使いまくると
優秀に見られるよ。
580デフォルトの名無しさん (ワッチョイ 5fda-oAy5)
2022/01/24(月) 11:54:29.81ID:5FJvHF790 引き継いだ人が困るわ
581デフォルトの名無しさん (アウアウウー Sa4b-ZIwK)
2022/01/24(月) 12:20:26.60ID:0SZZxpxwa コメント残せ
582デフォルトの名無しさん (ワッチョイ 5fda-oAy5)
2022/01/24(月) 13:00:01.29ID:5FJvHF790 コメント残したけど、後任の者がそもそもマクロの知識がないパターンがあったよ
その内に部署でマクロ禁止令が入ったよ
その内に部署でマクロ禁止令が入ったよ
583デフォルトの名無しさん (スップ Sd7f-4V6Q)
2022/01/24(月) 13:33:12.64ID:iw4K3rH6d 程度にもよるけどVBAのマクロ程度で禁止とかかなしいね
584デフォルトの名無しさん (ワッチョイ 5f7c-U/bu)
2022/01/24(月) 17:18:50.82ID:j9lgzOiA0 Webやhtmlのメールも危険だから禁止かな
585デフォルトの名無しさん (ワッチョイ 47e3-JOIU)
2022/01/24(月) 17:21:37.60ID:WNHxRwF80 普通の事務員にメンテできるようなもの残せと言われればそうするしかない
586デフォルトの名無しさん (ワッチョイ 8756-xA1r)
2022/01/24(月) 17:27:47.92ID:xAZorvxa0 1セルの中に長大な式を書くようにならないかそれ。
587デフォルトの名無しさん (ワッチョイ e7ce-IuBN)
2022/01/24(月) 18:12:53.56ID:JIfRBOPe0 パソコンの苦手な人材が来てもいいように、みんな紙と電卓でやればいいんじゃない?
588デフォルトの名無しさん (ワッチョイ 7fda-4V6Q)
2022/01/24(月) 19:32:09.39ID:QSZRM/el0 パソコン苦手な人にエクセル触らせんなよ
589デフォルトの名無しさん (スフッ Sd7f-N4O5)
2022/01/24(月) 20:07:49.12ID:JR1WCq5+d メインモジュールには処理の流れだけ書いて後はCall Function Classから引っ張れって言う風潮があるのがイマイチ理解出来ない。あと出来るだけ変数に入れて処理しろって言う風潮も。
人に引き継ぐ時に初見で見たこともない変数名や関数名を解読させたりいちいち流れをぶった斬ってあちこちプロシージャ間を行ったり来たりさせるのが本当に可読性を上げることに繋がんのか?
人に引き継ぐ時に初見で見たこともない変数名や関数名を解読させたりいちいち流れをぶった斬ってあちこちプロシージャ間を行ったり来たりさせるのが本当に可読性を上げることに繋がんのか?
590デフォルトの名無しさん (ブーイモ MM8f-tDnv)
2022/01/24(月) 20:23:59.31ID:E1L8nOD4M 規模の大きなプログラミングをするなら重要
でもVBAで規模の大きなプログラミングをする時点で間違っているのでそんなことはしなくていい
でもVBAで規模の大きなプログラミングをする時点で間違っているのでそんなことはしなくていい
591デフォルトの名無しさん (ラクッペペ MM8f-DS0X)
2022/01/24(月) 20:25:55.48ID:iJSI2wDaM は?
変数なんか使わずに Range("A1") を直接使ってるよ
分かりやすいからね
変数なんか使わずに Range("A1") を直接使ってるよ
分かりやすいからね
592デフォルトの名無しさん (ワッチョイ 8756-xA1r)
2022/01/24(月) 20:47:26.58ID:xAZorvxa0593デフォルトの名無しさん (ワッチョイ e7ce-IuBN)
2022/01/24(月) 21:02:33.82ID:JIfRBOPe0 そりゃ読む人による
知識と経験がある人にとってはセオリー通りに書かれてる方が読みやすい
知識と経験がある人にとってはセオリー通りに書かれてる方が読みやすい
594Mickey (オッペケ Sr7b-8IZx)
2022/01/24(月) 21:25:54.13ID:HmIH0Tmsr Excel は使う人によっては、ただの表計算ソフトでしかないし、
優秀なプログラマーが、VBAを駆使すれば、大規模なデータベースのフロントエンドや
ActiveDirectory等、インフラ管理のツールにもなる。
Windows環境でなら、Excelがあれば、ほぼできない事は無いかと。
Accessなら、なおさらのこと。
優秀なプログラマーが、VBAを駆使すれば、大規模なデータベースのフロントエンドや
ActiveDirectory等、インフラ管理のツールにもなる。
Windows環境でなら、Excelがあれば、ほぼできない事は無いかと。
Accessなら、なおさらのこと。
595デフォルトの名無しさん (ドコグロ MM4f-x+w6)
2022/01/24(月) 21:31:57.98ID:w+KnMuAHM >>592
VBA でオブジェクト指向は要らんやろ
VBA でオブジェクト指向は要らんやろ
596デフォルトの名無しさん (ワッチョイ c701-ev6V)
2022/01/24(月) 21:32:13.51ID:9LuFH7rJ0 シート参照難しいんですが…
フルパス必要な時とそうでないときのかき分けがさっぱりです
フルパス必要な時とそうでないときのかき分けがさっぱりです
597デフォルトの名無しさん (オッペケ Sr7b-8IZx)
2022/01/24(月) 21:33:33.84ID:HmIH0Tmsr 弘法筆を選ばず と言うが、
無能なプログラマに限って
プログラミング言語にこだわったり
たかが、Excelマグロだろ?w
などと見下す。
もっとも安価に、いろんなシステムを組める
至極優秀なツールだよ。Excelは。
まあ、俺なら開発環境なんて、
メモ帳だけで十分だけどね。
無能なプログラマに限って
プログラミング言語にこだわったり
たかが、Excelマグロだろ?w
などと見下す。
もっとも安価に、いろんなシステムを組める
至極優秀なツールだよ。Excelは。
まあ、俺なら開発環境なんて、
メモ帳だけで十分だけどね。
598デフォルトの名無しさん (ワッチョイ 5fda-4V6Q)
2022/01/24(月) 21:34:37.02ID:hdMr3QU+0 わかんなかったら覚えろよ勉強しろよ 努力無しで成果が出るとでも思ってんのか?
工場の現場で加工機のプログラムわかんないから手動で加工していいか?ってダダこねてるのと一緒だぞ
だいたいこんくらいでいいか なんてぇ精度で製品造るつもりか?1/1000精度求められる加工で?
それを認める上司も上司だ 一歩でも前に進む気概が無いから他の国に後れを取るってぇことにはよ気付け
工場の現場で加工機のプログラムわかんないから手動で加工していいか?ってダダこねてるのと一緒だぞ
だいたいこんくらいでいいか なんてぇ精度で製品造るつもりか?1/1000精度求められる加工で?
それを認める上司も上司だ 一歩でも前に進む気概が無いから他の国に後れを取るってぇことにはよ気付け
599デフォルトの名無しさん (オッペケ Sr7b-8IZx)
2022/01/24(月) 21:36:18.43ID:HmIH0Tmsr600デフォルトの名無しさん (ワッチョイ a768-kzOy)
2022/01/24(月) 21:39:41.61ID:0uV4r5KA0 workbookという巨大なオブジェクトがあるじゃろ
601デフォルトの名無しさん (オッペケ Sr7b-8IZx)
2022/01/24(月) 21:43:12.08ID:HmIH0Tmsr WorkBook、正直邪魔だよね。
少人数の給料計算くらいなら良いけど
大量のデータ管理には重くて使えないし。
少人数の給料計算くらいなら良いけど
大量のデータ管理には重くて使えないし。
602デフォルトの名無しさん (ワッチョイ 7f8e-4Ql0)
2022/01/24(月) 21:51:17.38ID:aObfNlgq0 >>601
馬鹿にはわからん使い方があるのだろ
馬鹿にはわからん使い方があるのだろ
603デフォルトの名無しさん (ワッチョイ 275f-8IZx)
2022/01/24(月) 22:27:03.42ID:0XRM59Ri0 そういえば初心者の頃は、配列とか定数変数の代わりに
WorkBook を使ったりしてたな。
これはデメリットだらけ。
WorkBook を使ったりしてたな。
これはデメリットだらけ。
604デフォルトの名無しさん (ワッチョイ 5fda-oAy5)
2022/01/24(月) 22:46:11.44ID:5FJvHF790 マクロ禁止になった理由はいろいろあるけど、一番は属人化になるからという理由でしたわ。
関数も長々とした入れ子はダメというローカルルールできた。
関数も長々とした入れ子はダメというローカルルールできた。
605デフォルトの名無しさん (ワッチョイ 275f-8IZx)
2022/01/24(月) 22:53:36.30ID:0XRM59Ri0 職場を無能だけで構成しようとすれば
そうせざるを得ない
そこが欧米企業と旧日本型企業との違い
そうせざるを得ない
そこが欧米企業と旧日本型企業との違い
606デフォルトの名無しさん (ワッチョイ 275f-8IZx)
2022/01/24(月) 22:58:12.91ID:0XRM59Ri0 セルに五重くらいのIF,OR文の関数を入れて
悦に浸ってるオッサン居たけど
アホにしか見えんかったわ
悦に浸ってるオッサン居たけど
アホにしか見えんかったわ
607デフォルトの名無しさん (ワッチョイ 5fda-oAy5)
2022/01/24(月) 23:00:41.29ID:5FJvHF790 あと、上席が言うには「うちはVBAを書くのが仕事じゃないんだから、そればっかにとらわれて本来の業務を疎かにしないでくれ」と。
608デフォルトの名無しさん (ワッチョイ 275f-8IZx)
2022/01/24(月) 23:09:57.20ID:0XRM59Ri0 出たw
大多数の日本企業の実態がソレ。
業務効率化という
意識が30年遅れてます、とね…
VBAは隠れてやった方がええよ。
大多数の日本企業の実態がソレ。
業務効率化という
意識が30年遅れてます、とね…
VBAは隠れてやった方がええよ。
609デフォルトの名無しさん (ワッチョイ 275f-8IZx)
2022/01/24(月) 23:10:32.49ID:0XRM59Ri0 アテクシなんざ
手作業で、一日かかる作業
(大量のドキュメント作成)を
マクロで1時間で終わらせて
残りの時間はVBAで遊んでましたぜ。
Word VBAも出来ると素敵だよ。
手作業で、一日かかる作業
(大量のドキュメント作成)を
マクロで1時間で終わらせて
残りの時間はVBAで遊んでましたぜ。
Word VBAも出来ると素敵だよ。
610デフォルトの名無しさん (ワッチョイ 5f7c-4V6Q)
2022/01/24(月) 23:32:47.93ID:j9lgzOiA0 >>589
自己流だけどメインルーチンはあらすじ、グローバル変数は登場人物みたいな感じで使ってるわ
フォームやシートに書くコードはイベントハンドラくらいで、ちょっとでも長ければ似た名前のモジュール(Form1bみたいな)の中に
コントロールごとに分類して関数なりなんなりを作ってそれを呼んでる
複数のフォームで使い回せるものは複数のフォーム名が入ったモジュールを作って入れてる
プロシージャ名はフォーム名_コントロール名(略せれば略)_処理名で統一してる
グローバル変数もPbという名前の専用のモジュールに突っ込んでる
登場人物一覧みたいな感じで参照ができる
多分これでだいぶ解りやすくなると思うんだが……
VBAもxmlコメントが使えれば解りやすいんだけどな
自己流だけどメインルーチンはあらすじ、グローバル変数は登場人物みたいな感じで使ってるわ
フォームやシートに書くコードはイベントハンドラくらいで、ちょっとでも長ければ似た名前のモジュール(Form1bみたいな)の中に
コントロールごとに分類して関数なりなんなりを作ってそれを呼んでる
複数のフォームで使い回せるものは複数のフォーム名が入ったモジュールを作って入れてる
プロシージャ名はフォーム名_コントロール名(略せれば略)_処理名で統一してる
グローバル変数もPbという名前の専用のモジュールに突っ込んでる
登場人物一覧みたいな感じで参照ができる
多分これでだいぶ解りやすくなると思うんだが……
VBAもxmlコメントが使えれば解りやすいんだけどな
611デフォルトの名無しさん (ワッチョイ 4763-QYBP)
2022/01/24(月) 23:42:30.31ID:veuEuZMi0 VBAなんて自分の作業効率化するときだけにしとき
他人に使わせて良い事無い
他人に使わせて良い事無い
612デフォルトの名無しさん (ワッチョイ a768-kzOy)
2022/01/24(月) 23:43:46.42ID:0uV4r5KA0 >>607
最初の一回だけ構築すれば、後は全自動・ミスなしの瞬殺なのにねぇ
最初の一回だけ構築すれば、後は全自動・ミスなしの瞬殺なのにねぇ
613デフォルトの名無しさん (スップ Sdff-tDnv)
2022/01/24(月) 23:52:36.12ID:aJKkYLDpd >>607の上席が、小手先の作業効率改善オナニーばっかりやってないで業務そのものを見直せという意味で言ってるんだとしたら極めて正しいと思うけどね
VBAで簡単に自動化できる業務なんてそもそもほとんどが無意味なんだよ
VBAで簡単に自動化できる業務なんてそもそもほとんどが無意味なんだよ
614デフォルトの名無しさん (ワッチョイ a768-kzOy)
2022/01/24(月) 23:56:01.84ID:0uV4r5KA0 それが出来れば苦労せんわw
末端から少しずつ見直していく事で、大きな改善ができるようになる
いきなり改善しようとすると、大体無理が出る、というか出た。
末端から少しずつ見直していく事で、大きな改善ができるようになる
いきなり改善しようとすると、大体無理が出る、というか出た。
615デフォルトの名無しさん (ワッチョイ 7fda-ZIwK)
2022/01/25(火) 00:50:53.14ID:Y5KLOHGW0 excel VBAは手段であって目的ではない
616デフォルトの名無しさん (ワッチョイ 275f-8IZx)
2022/01/25(火) 01:30:31.84ID:mNb42c/J0 日本の場合、会社組織そのものが、非効率の根源なんだけどね。
上層部は社内での自分の立場を確立するために、イエスマンで固める伝統が根付いてて
下から変えるのは、ほぼ不可能。
その意味から言って、コロナ禍は日本にとって救いの神だった。
コロナ禍がなかったら、マズゴミの情報鎖国で、あと10年以上、変わらずに
気がついた時にはASEAN諸国にまで、IT技術と経済で抜かれてただろう。
おそロシア
上層部は社内での自分の立場を確立するために、イエスマンで固める伝統が根付いてて
下から変えるのは、ほぼ不可能。
その意味から言って、コロナ禍は日本にとって救いの神だった。
コロナ禍がなかったら、マズゴミの情報鎖国で、あと10年以上、変わらずに
気がついた時にはASEAN諸国にまで、IT技術と経済で抜かれてただろう。
おそロシア
617デフォルトの名無しさん (ワッチョイ 275f-8IZx)
2022/01/25(火) 02:03:41.94ID:mNb42c/J0 >>613
まさに典型的な、俗人的業務の思考。
個人の力量に関係なく、最高パフォーマンスで会社がまわるのを考えるのが
企業としての真の効率化。
いまだに営業職がメインの日本型企業は特に糞。
GAFAM等、欧米のトップ企業に、そんなカビ臭い会社が無いのを見れば明らか。
まさに典型的な、俗人的業務の思考。
個人の力量に関係なく、最高パフォーマンスで会社がまわるのを考えるのが
企業としての真の効率化。
いまだに営業職がメインの日本型企業は特に糞。
GAFAM等、欧米のトップ企業に、そんなカビ臭い会社が無いのを見れば明らか。
618デフォルトの名無しさん (ワッチョイ 5f4f-NNUQ)
2022/01/25(火) 04:51:07.51ID:jYjAr1e40 >>604
>関数も長々とした入れ子はダメというローカルルールできた。
それはちょっと残念かも
呼び出す関数の役割が明確化されていれば
どんなに入れ子が多くなっていても
一度内容を理解してしまえば
そんなに読み込むの苦労しないと思うし
場合によっては途中から奥まで
読まなくても解るようになるのに。
デコレーターパターンみたいのを
使いたい場合はどうするの?
>関数も長々とした入れ子はダメというローカルルールできた。
それはちょっと残念かも
呼び出す関数の役割が明確化されていれば
どんなに入れ子が多くなっていても
一度内容を理解してしまえば
そんなに読み込むの苦労しないと思うし
場合によっては途中から奥まで
読まなくても解るようになるのに。
デコレーターパターンみたいのを
使いたい場合はどうするの?
619デフォルトの名無しさん (ドコグロ MM4f-x+w6)
2022/01/25(火) 06:27:16.77ID:T29wyfYtM >>599
> VBA自体がオブジェクト指向言語だけどね。
VBAのオブジェクト指向はあまりにも中途半端
Workbook や Worksheet 等のオブジェクトを扱えるけどオブジェクト指向の知識はほとんど要らん
Let と Set の違いがわかれば充分
> VBA自体がオブジェクト指向言語だけどね。
VBAのオブジェクト指向はあまりにも中途半端
Workbook や Worksheet 等のオブジェクトを扱えるけどオブジェクト指向の知識はほとんど要らん
Let と Set の違いがわかれば充分
620デフォルトの名無しさん (テテンテンテン MM8f-uhud)
2022/01/25(火) 06:40:37.19ID:nnTBaJb2M >>604
嫌がらせに100万行 x 1.6万列目のセルに途中の計算式入れて50万行目 x 8万列目辺りからoffset関数で参照だな
嫌がらせに100万行 x 1.6万列目のセルに途中の計算式入れて50万行目 x 8万列目辺りからoffset関数で参照だな
621デフォルトの名無しさん (ワッチョイ 5f4f-NNUQ)
2022/01/25(火) 07:26:11.67ID:jYjAr1e40 >>619
まぁMicrosoftが元々中途半端で終わらせるのが好きだからしょうがない。
旧VB6とVB.Netに切り替わったときもそうだった。
とは言ってもObject指向知ってるのと知らないのではロジック作成するときの視野の広がりが変わってくる。
何かのロジック組むときにどういう方法で組むのがモアベターか、取れる手段が増えてくるよ。
まぁMicrosoftが元々中途半端で終わらせるのが好きだからしょうがない。
旧VB6とVB.Netに切り替わったときもそうだった。
とは言ってもObject指向知ってるのと知らないのではロジック作成するときの視野の広がりが変わってくる。
何かのロジック組むときにどういう方法で組むのがモアベターか、取れる手段が増えてくるよ。
622デフォルトの名無しさん (ワッチョイ 5f7c-U/bu)
2022/01/25(火) 07:56:08.67ID:ZGZoh/tR0 >>618
途中計算用のシートを作れば良いのでは
途中計算用のシートを作れば良いのでは
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 [少考さん★]
- 高市早苗総理「農水大臣が大好きなおこめ券」 野党が“おこめ券”追及 [Hitzeschleier★]
- 空自機レーダー照射、音声データ公開 中国 ★4 [蚤の市★]
- 【芸能】山里亮太、体調不良で3日連続『DayDay.』欠席 症状の説明などはなし… 代理MCはアンジャッシュ・児嶋一哉 [冬月記者★]
- 一律現金給付も消費減税もなし 高市内閣の経済対策に割れる世論 ★2 [蚤の市★]
- 【高市早苗総理】食料品消費減税に慎重「今すぐ約束できない」…「物価上昇率は徐々に落ち着いていくと見込んでいる」 [Hitzeschleier★]
- 高市さん「物価上昇率は徐々に落ち着くだろう」と国会で表明。感謝😊 [469534301]
- フィンクスって家で腕回しまくってから戦場にくれば最強じゃん
- 石破「戦車、戦闘機、船を揃えても食糧無かったら意味ないでしょ?」 [237216734]
- 中国「事前通告の音声公開するよ」高市応援団「音声は捏造。自衛隊にこんな声の隊員いねーよ」?! [931948549]
- カーチャン「うちの子、ひらがなも九九も覚えられない」日本人の7人に1人は「境界知能」だという事実が判明。高市どうにかしろ [811796219]
- 【朗報】日中戦争、5割弱が賛成。共同通信世論調査。ケンモメンも中国進駐へ [673057929]
