Excel VBA 質問スレ Part51
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (スププ Sd4a-O827)
2017/11/08(水) 11:26:30.13ID:+KUB1/9hdスレ立ての際は一行目に
!extend:checked:vvvvv:1000:512
と入れてスレ立てして下さい
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※関連スレ
VBAなんでも質問スレ Part2
http://mevius.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
http://mevius.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 126
https://mevius.2ch.net/test/read.cgi/bsoft/1496487719/
※前スレ
Excel VBA 質問スレ Part50
http://mevius.2ch.net/test/read.cgi/tech/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
43デフォルトの名無しさん (ワッチョイ 5fb3-Q+Fb)
2017/11/12(日) 17:02:12.03ID:eJwcw8mO0 >>36
モジュールをそのまま保存できるだろ
モジュールをそのまま保存できるだろ
44デフォルトの名無しさん (ワッチョイ ffb9-sJj3)
2017/11/12(日) 18:22:11.84ID:syzs4wk80 >>42
他に手軽な方法がないからUserFormで作れるようにしておくのが一番いいぞ。
他に手軽な方法がないからUserFormで作れるようにしておくのが一番いいぞ。
45デフォルトの名無しさん (ワッチョイ 5fb3-Q+Fb)
2017/11/12(日) 18:36:30.88ID:eJwcw8mO0 >>44
まあそれしかないのはそうなんだけどさ
まあそれしかないのはそうなんだけどさ
46デフォルトの名無しさん (ワッチョイ 5fb3-4T/N)
2017/11/12(日) 20:02:01.58ID:Dmy+tyrb0 vbのランタイムをインストールすればDateTimePicker使えるけど、Formでカレンダー自作しておけば簡単に使い回したり配布出来るから一個作っておくといいと思いますよ。
47デフォルトの名無しさん (ワッチョイ 5fbd-vLjR)
2017/11/12(日) 22:30:08.29ID:XHSQB0UC0 フォルダ1
┗XXX29年10月.xlsx
XXX29年11月.xlsx
YYY29年10月.xlsx
YYY29年11月.xlsx
フォルダ2
フォルダN
フォルダ1内に今月のファイルがあったらコピーして名前を翌月に変更して保存
これをフォルダNまで同じように処理する方法教えてください
年月の取得はユーザーフォームが理想ですが全く分らんので
マクロ実行用ファイルのA1に年、A2に月入力して取得する感じを考えてます
┗XXX29年10月.xlsx
XXX29年11月.xlsx
YYY29年10月.xlsx
YYY29年11月.xlsx
フォルダ2
フォルダN
フォルダ1内に今月のファイルがあったらコピーして名前を翌月に変更して保存
これをフォルダNまで同じように処理する方法教えてください
年月の取得はユーザーフォームが理想ですが全く分らんので
マクロ実行用ファイルのA1に年、A2に月入力して取得する感じを考えてます
48デフォルトの名無しさん (ワッチョイ 5fb3-Q+Fb)
2017/11/12(日) 23:03:42.29ID:eJwcw8mO0 >>47
今月のファイルを探したいならDate関数使えば今日の日付が出るからそっからformatなりyearとmonthくみあわせるなりで取得すればいいからわざわざ入力させる必要がないね
フォルダないのファイル名の取得ならググればいくらでも出てくるぞ
俺はfilesystemobjectを使うけど
今月のファイルを探したいならDate関数使えば今日の日付が出るからそっからformatなりyearとmonthくみあわせるなりで取得すればいいからわざわざ入力させる必要がないね
フォルダないのファイル名の取得ならググればいくらでも出てくるぞ
俺はfilesystemobjectを使うけど
49デフォルトの名無しさん (ワッチョイ dff7-lMX+)
2017/11/12(日) 23:12:47.43ID:UfHz6itl0 >>47
まずは最初の部分だけ
今年 = Format(Now, "e")
今月 = Month(Now)
来月 = DateAdd("m", 1, Now)
年 = Format(来月, "e")
月 = Month(来月)
まずは最初の部分だけ
今年 = Format(Now, "e")
今月 = Month(Now)
来月 = DateAdd("m", 1, Now)
年 = Format(来月, "e")
月 = Month(来月)
50デフォルトの名無しさん (ワッチョイ dff7-lMX+)
2017/11/12(日) 23:16:31.66ID:UfHz6itl0 変数に残す必要なかった
今月 = Format(Now, "ee年mm月")
来月 = Format(DateAdd("m", 1, Now), "ee年mm月")
今月 = Format(Now, "ee年mm月")
来月 = Format(DateAdd("m", 1, Now), "ee年mm月")
51デフォルトの名無しさん (ワッチョイ ff9f-wagG)
2017/11/13(月) 00:50:26.46ID:cup53tTa0 どうしてもカレンダー欲しいんだったらSysDateTimePick32使って頑張るだろうな。
面倒くさいけど他のコントロールもMSFormsを使わないウィンドウ作成もやったことある。
きちんとプロパティ作るの面倒くさいから使いたいものしか実装してないけど。
面倒くさいけど他のコントロールもMSFormsを使わないウィンドウ作成もやったことある。
きちんとプロパティ作るの面倒くさいから使いたいものしか実装してないけど。
52デフォルトの名無しさん (ワッチョイ ff9f-wagG)
2017/11/13(月) 00:58:21.51ID:cup53tTa0 >>48
ファイル名取得にfilesystemobjectは激重だった気がする。
Dir関数で頑張る方がよっぽど速い。
これが原因でfilesystemobjectは使わなくなってしまった。
他では速いものもあるのに食わず嫌いになった。
ファイル名取得にfilesystemobjectは激重だった気がする。
Dir関数で頑張る方がよっぽど速い。
これが原因でfilesystemobjectは使わなくなってしまった。
他では速いものもあるのに食わず嫌いになった。
53デフォルトの名無しさん (アークセー Sx33-dU/l)
2017/11/13(月) 01:02:34.35ID:AtJ4gbq1x >>52
処理対象のファイルのロングパスがDirの引数の字数制限を越えてるときはどうするの?
処理対象のファイルのロングパスがDirの引数の字数制限を越えてるときはどうするの?
54デフォルトの名無しさん (ワッチョイ 7fb3-kkiU)
2017/11/13(月) 06:21:29.66ID:gczEvEcT0 そもそも劇重なんて思ったことないが...
55デフォルトの名無しさん (スップ Sd9f-Lcj1)
2017/11/13(月) 08:01:19.66ID:4dN82Cnsd なんか別のものと勘違いしてるんじゃないか
56デフォルトの名無しさん (ワッチョイ ffb9-sJj3)
2017/11/13(月) 08:26:57.35ID:pr331NCP0 たかがファイル名を取得するのに処理負荷を感じるほど重くなるとか考えられないな。
読み取り先が等速ドライブに突っ込んだCDだったとか、回線の細いNASだったとかなら分かるけど。
読み取り先が等速ドライブに突っ込んだCDだったとか、回線の細いNASだったとかなら分かるけど。
57デフォルトの名無しさん (アウアウオー Sa7f-Q+Fb)
2017/11/13(月) 09:22:13.43ID:mbcSFLNRa58デフォルトの名無しさん (ドコグロ MMe3-kkiU)
2017/11/13(月) 12:42:29.30ID:IBZYfbeXM またVBAでクラス語る奴が来ちゃったよ...
59デフォルトの名無しさん (アウアウカー Sad3-6ii5)
2017/11/13(月) 12:44:49.20ID:U+ZWq00Pa なんかWindows10でマクロの挙動が安定しなくなったんだけど、そういうのある?
60デフォルトの名無しさん (アウアウオー Sa7f-Q+Fb)
2017/11/13(月) 13:17:08.13ID:GJIgK8HXa >>58
語ってるつもりはないし、普通に機能としてあるのに使ってバカにされる筋合いもない
語ってるつもりはないし、普通に機能としてあるのに使ってバカにされる筋合いもない
61デフォルトの名無しさん (ワッチョイ 5fb3-4T/N)
2017/11/13(月) 13:21:12.07ID:ck+reS0/0 vbaでクラス使うメリットあるの?
一応あるインターフェースは使い物にならないし、継承も使えないし、コンストラクタに引数も設定出来ない。
vbaでクラス使うメリット教えて
一応あるインターフェースは使い物にならないし、継承も使えないし、コンストラクタに引数も設定出来ない。
vbaでクラス使うメリット教えて
62デフォルトの名無しさん (アウアウオー Sa7f-Q+Fb)
2017/11/13(月) 13:21:56.90ID:GJIgK8HXa >>61
カプセル化
カプセル化
63デフォルトの名無しさん (スップ Sd9f-Lcj1)
2017/11/13(月) 13:43:14.72ID:4dN82Cnsd64デフォルトの名無しさん (アウアウオー Sa7f-Q+Fb)
2017/11/13(月) 13:48:11.54ID:GJIgK8HXa というか、クラスを使うデメリットって逆に何
65デフォルトの名無しさん (スプッッ Sd7f-lMX+)
2017/11/13(月) 13:52:55.00ID:HKnEhqdPd そもそもクラスが必要になるほど大規模なコードを書く用途にVBAは向いてない、使うべきじゃない
ちゃんとした開発環境を使え
会社が許可しないなら転職するか我慢するかの二択、あるいは出世して自分で規則を変えろ
仕事の能率がアップして利益が増えるんなら反対する理由はないだろ
ちゃんとした開発環境を使え
会社が許可しないなら転職するか我慢するかの二択、あるいは出世して自分で規則を変えろ
仕事の能率がアップして利益が増えるんなら反対する理由はないだろ
66デフォルトの名無しさん (ワッチョイ dfb5-+bRG)
2017/11/13(月) 15:44:46.11ID:XD2Cv4t70 自分の好きなコードが書けないから転職とかww
67デフォルトの名無しさん (ワッチョイ 7faf-2WZT)
2017/11/13(月) 15:54:24.73ID:IBY/CNJo0 不合理なことを押し付けてくる会社なら、転職も選択肢ってことだろ。日本語ダイジョブ?
68デフォルトの名無しさん (ワッチョイ ffb9-sJj3)
2017/11/13(月) 16:07:38.26ID:pr331NCP0 クラスを使うとシンプルに表現出来る場合がある。規模の問題では無い。
普通に使ってるとなかなか活用するイメージが湧かないけど、覚えておくと役に立つよ。
普通に使ってるとなかなか活用するイメージが湧かないけど、覚えておくと役に立つよ。
69デフォルトの名無しさん (アウアウオー Sa7f-Q+Fb)
2017/11/13(月) 17:08:14.63ID:GJIgK8HXa ここでも前に書いたけど、配列のラッパークラスとか、一度作ると便利よ
コレクションだと微妙に取り回し悪かったりするからね
これ以上はスレチかな
コレクションだと微妙に取り回し悪かったりするからね
これ以上はスレチかな
70デフォルトの名無しさん (スップ Sd9f-Lcj1)
2017/11/13(月) 17:09:30.17ID:4dN82Cnsd71デフォルトの名無しさん (アウアウカー Sad3-wagG)
2017/11/13(月) 17:20:46.73ID:78YzXPYPa FileSystemObjectのファイル一覧取得が遅いのなんて結構有名な話だと思うんだが。
ハードディスクにあるファイル名全部取ってくるとかすれば分かる。
昔、どっかに比較してる所が有ったんだが見つからないな。
Win32APIが一番速かったがDirでもそんなに大きな違いは出なかった。
が、FileSystemObjectは糞遅い結果になってた。
そもそも自分で組んだら遅くてネットで調べたらやっぱり遅かったという。
ハードディスクにあるファイル名全部取ってくるとかすれば分かる。
昔、どっかに比較してる所が有ったんだが見つからないな。
Win32APIが一番速かったがDirでもそんなに大きな違いは出なかった。
が、FileSystemObjectは糞遅い結果になってた。
そもそも自分で組んだら遅くてネットで調べたらやっぱり遅かったという。
72デフォルトの名無しさん (アウアウカー Sad3-wagG)
2017/11/13(月) 17:23:43.47ID:78YzXPYPa クラスは凄く便利だが、無理に使う必要は無いと思う。
個人的には仕様を考えた段階でクラス使うのがぴったりと感覚で分かる。
そういう時以外は使わない。
個人的には仕様を考えた段階でクラス使うのがぴったりと感覚で分かる。
そういう時以外は使わない。
73デフォルトの名無しさん (アウアウオー Sa7f-Q+Fb)
2017/11/13(月) 17:47:02.85ID:GJIgK8HXa >>71
そうなんか
まあ、今んとこそんな大量のファイルのやり取りしたことないから体感したことなかったわ
まあ、その辺使うにしても生で扱うよりクラスでまとめちゃった方が取り回し良さそうだがね
その辺は好みなんだろうけどね
そうなんか
まあ、今んとこそんな大量のファイルのやり取りしたことないから体感したことなかったわ
まあ、その辺使うにしても生で扱うよりクラスでまとめちゃった方が取り回し良さそうだがね
その辺は好みなんだろうけどね
74デフォルトの名無しさん (ドコグロ MMe3-kkiU)
2017/11/13(月) 18:55:14.32ID:IBZYfbeXM >>64
まともな言語ならクラスを使うデメリットはないけどVBAのクラスは制限が多すぎて使う意味がない
まともな言語ならクラスを使うデメリットはないけどVBAのクラスは制限が多すぎて使う意味がない
75デフォルトの名無しさん (ワッチョイ ffe9-ySnM)
2017/11/13(月) 19:08:08.64ID:wM5leOdq076デフォルトの名無しさん (ワッチョイ 5f81-2HIz)
2017/11/13(月) 21:36:08.79ID:S878v5EG0 この流れで突然クソみたいな質問するの恐縮なのですが…
共有で使っているExcelのデータの行がランダムに大量に消える現象が起きてます
多分誰かがオートフィルタかけた状態でうっかり削除したんだと思うんですが、
消えた行に全く共通点が無いので「マクロにウイルスが付いたんだ!マクロやめろ!」って因縁付けられています
まずVBAにウイルスを仕込むならともかく、VBAを使用しているせいでウイルスに感染するって無いですよね?
あとこのコードに行を消すような要素があるか見てもらいたいです
オートフィルタをかけるだけの簡単なコードなんで無いと思うんですが周りに誰も聞ける人が居ないので一応…
簡単な指示だけどすごく頻繁に使うので消したくないんです
Sub filter1()
Range("K2").AutoFilter Field:=9, Criteria1:="<>"
Range("L2").AutoFilter Field:=10, Criteria1:=""
Range("O2").AutoFilter Field:=13, Criteria1:="AA"
End Sub
Sub filter2()
Range("K2").AutoFilter Field:=9, Criteria1:="<>"
Range("L2").AutoFilter Field:=10, Criteria1:=""
Range("O2").AutoFilter Field:=13, Criteria1:=""
End Sub
Sub filter3()
If ActiveSheet.FilterMode = True Then
ActiveSheet.ShowAllData
End If
End Sub
共有で使っているExcelのデータの行がランダムに大量に消える現象が起きてます
多分誰かがオートフィルタかけた状態でうっかり削除したんだと思うんですが、
消えた行に全く共通点が無いので「マクロにウイルスが付いたんだ!マクロやめろ!」って因縁付けられています
まずVBAにウイルスを仕込むならともかく、VBAを使用しているせいでウイルスに感染するって無いですよね?
あとこのコードに行を消すような要素があるか見てもらいたいです
オートフィルタをかけるだけの簡単なコードなんで無いと思うんですが周りに誰も聞ける人が居ないので一応…
簡単な指示だけどすごく頻繁に使うので消したくないんです
Sub filter1()
Range("K2").AutoFilter Field:=9, Criteria1:="<>"
Range("L2").AutoFilter Field:=10, Criteria1:=""
Range("O2").AutoFilter Field:=13, Criteria1:="AA"
End Sub
Sub filter2()
Range("K2").AutoFilter Field:=9, Criteria1:="<>"
Range("L2").AutoFilter Field:=10, Criteria1:=""
Range("O2").AutoFilter Field:=13, Criteria1:=""
End Sub
Sub filter3()
If ActiveSheet.FilterMode = True Then
ActiveSheet.ShowAllData
End If
End Sub
77デフォルトの名無しさん (ワッチョイ 7f1e-EzKS)
2017/11/13(月) 21:42:36.96ID:zsNLMe3/0 シート保護かけてみるとか
78デフォルトの名無しさん (ワッチョイ ffe9-Ai73)
2017/11/13(月) 21:45:59.98ID:wM5leOdq0 >>76
ウィルスに感染していて、セキュリティをsageているためにウィルスが実行されているというパターンなら考えられるが
其れ以前の問題として
・オートフィルタをかける
・全体をコピー
・ペースト(値として貼り付けなど)
で行が減っている可能性のほうが高いと思う
この仕様
、意外と知られていないんじゃないかなぁ
ウィルスに感染していて、セキュリティをsageているためにウィルスが実行されているというパターンなら考えられるが
其れ以前の問題として
・オートフィルタをかける
・全体をコピー
・ペースト(値として貼り付けなど)
で行が減っている可能性のほうが高いと思う
この仕様
、意外と知られていないんじゃないかなぁ
79デフォルトの名無しさん (ワッチョイ 5f81-2HIz)
2017/11/13(月) 22:24:58.44ID:S878v5EG0 >>78
それって別のシートやブックに貼り付けるときに可視セルだけ貼り付けられているという意味ですか?
別のブックやシートにコピーする事は無いと思うので可能性としては低い気がします…
試しにオートフィルタしながら同じシートに貼り付けようとしたら「コピー領域と貼り付け領域が違うため貼付できません」となりました
それって別のシートやブックに貼り付けるときに可視セルだけ貼り付けられているという意味ですか?
別のブックやシートにコピーする事は無いと思うので可能性としては低い気がします…
試しにオートフィルタしながら同じシートに貼り付けようとしたら「コピー領域と貼り付け領域が違うため貼付できません」となりました
80デフォルトの名無しさん (アウアウオー Sa7f-Q+Fb)
2017/11/13(月) 22:25:14.14ID:GJIgK8HXa >>76
まあ、自作マクロでウィルスどうこうはあり得ないわ
コード見る限りでも、フィルターかけてるだけで値の操作はしてないしな
まあ、フィルターかけっぱなしにならないようにブッククローズ時にフィルター解除すれば?
まあ、自作マクロでウィルスどうこうはあり得ないわ
コード見る限りでも、フィルターかけてるだけで値の操作はしてないしな
まあ、フィルターかけっぱなしにならないようにブッククローズ時にフィルター解除すれば?
81デフォルトの名無しさん (ワッチョイ ffe9-Ai73)
2017/11/13(月) 22:28:52.42ID:wM5leOdq0 >>79
>それって別のシートやブックに貼り付けるときに可視セルだけ貼り付けられているという意味ですか?
そう
>別のブックやシートにコピーする事は無いと思うので可能性としては低い気がします…
そか
オートフィルタならまずこれかなーと思ったけど、コピーペーストしてないなら違うかな
>それって別のシートやブックに貼り付けるときに可視セルだけ貼り付けられているという意味ですか?
そう
>別のブックやシートにコピーする事は無いと思うので可能性としては低い気がします…
そか
オートフィルタならまずこれかなーと思ったけど、コピーペーストしてないなら違うかな
82デフォルトの名無しさん (アウアウオー Sa7f-Q+Fb)
2017/11/13(月) 22:30:45.38ID:GJIgK8HXa フィルターで謎のデータ消失なら質問者の疑念通りフィルターかけたまんま範囲削除じゃねーかな
83デフォルトの名無しさん (ワッチョイ ffe9-Ai73)
2017/11/13(月) 22:32:36.92ID:wM5leOdq0 実際のコード上げたほうがいいかもねぇ
84デフォルトの名無しさん (ワッチョイ 5f81-2HIz)
2017/11/13(月) 22:46:30.32ID:S878v5EG0 ありがとうございます
コードがおかしいわけじゃないなら良かったです
一応ここに貼ったコードはAAの部分に別の単語が入ってるだけで他は全て実際に使っているものと同じです
クローズ時にフィルター解除するようにはしてなかったのでやってみます
コードがおかしいわけじゃないなら良かったです
一応ここに貼ったコードはAAの部分に別の単語が入ってるだけで他は全て実際に使っているものと同じです
クローズ時にフィルター解除するようにはしてなかったのでやってみます
85デフォルトの名無しさん (ササクッテロル Sp33-DmTq)
2017/11/14(火) 09:16:46.87ID:8wZuibTmp インターネットが壊れた!みたいなのはやめてください!
86デフォルトの名無しさん (アウアウオー Sa7f-Q+Fb)
2017/11/14(火) 09:53:14.55ID:tqdP1JBma エクセルの特定の行だけ消すウイルスとか笑えるわ
まあ、バグ満載のマクロとかある意味ウイルスだけど
まあ、バグ満載のマクロとかある意味ウイルスだけど
87デフォルトの名無しさん (ワッチョイ ff9f-wagG)
2017/11/14(火) 11:29:31.52ID:G7+v7Fl70 ウィルスは簡単に作れるだろ。
リテラシー無い奴が増えたからウィルスとは何ぞ?という議論が必要かも知れんが。
ただ、ExcelよりはAccessとかのが簡単だから大丈夫なんか?と思ったことあるけど。
Application.VBE系のコードが動くようになってれば感染させるのは簡単。
通常、Excelではセキュリティ設定で動かないようにはなってる。
Accessには設定が無い。
WordやPowerPointはどうだったかな。
Application.VBE系ってのはコード書いてるエディタを弄るものでVBAでコードを追加出来る。
つまり自分自身のコードをHDD上の不特定なxlsファイル開いて追加すれば自己増殖出来るし、Auto_Open辺りを追加して次回誰かが開いた時に勝手に実行させることも出来る。
ついでにそのxlsファイルをメールに添付して、アドレス帳の適当な所に送ることも出来る。
少し書ける奴なら分かってるだろうからApplication.VBE系は動かない設定になってるだろう。
Application.VBE系は便利でGithubにアップしたり、VBAのバックアックしたり、コード取得してWinmergeに与えて比較したり色々利用してたけどVB.netのCOMアドインに移行中。
リテラシー無い奴が増えたからウィルスとは何ぞ?という議論が必要かも知れんが。
ただ、ExcelよりはAccessとかのが簡単だから大丈夫なんか?と思ったことあるけど。
Application.VBE系のコードが動くようになってれば感染させるのは簡単。
通常、Excelではセキュリティ設定で動かないようにはなってる。
Accessには設定が無い。
WordやPowerPointはどうだったかな。
Application.VBE系ってのはコード書いてるエディタを弄るものでVBAでコードを追加出来る。
つまり自分自身のコードをHDD上の不特定なxlsファイル開いて追加すれば自己増殖出来るし、Auto_Open辺りを追加して次回誰かが開いた時に勝手に実行させることも出来る。
ついでにそのxlsファイルをメールに添付して、アドレス帳の適当な所に送ることも出来る。
少し書ける奴なら分かってるだろうからApplication.VBE系は動かない設定になってるだろう。
Application.VBE系は便利でGithubにアップしたり、VBAのバックアックしたり、コード取得してWinmergeに与えて比較したり色々利用してたけどVB.netのCOMアドインに移行中。
88デフォルトの名無しさん (オイコラミネオ MM8f-appL)
2017/11/14(火) 11:36:59.15ID:JNyIRsqMM 隙あらば自分語り
89デフォルトの名無しさん (ワッチョイ dfb5-+bRG)
2017/11/14(火) 12:24:48.16ID:vavtQv330 長文はスルーで
90デフォルトの名無しさん (ワッチョイ ffb9-sJj3)
2017/11/14(火) 12:38:00.31ID:Tcgv7xMn0 コンピュータウィルスって「操作している人間の意に沿わない動きをするプログラム」だったと思ったんだけど、
いつの間にか定義が変わったのか。
CDトレー開いたりマウスをランダムに動かすジョーク系もウィルスだったはずだから>>76のもウィルスと言っていいと思ったんだが。
いつの間にか定義が変わったのか。
CDトレー開いたりマウスをランダムに動かすジョーク系もウィルスだったはずだから>>76のもウィルスと言っていいと思ったんだが。
91デフォルトの名無しさん (ササクッテロラ Sp33-hKlY)
2017/11/14(火) 12:42:08.62ID:dN7NjwRxp92デフォルトの名無しさん (ワッチョイ ff9d-QXYS)
2017/11/14(火) 13:07:49.89ID:5gpUPtII093デフォルトの名無しさん (ワッチョイ ffb9-sJj3)
2017/11/14(火) 13:09:39.12ID:Tcgv7xMn0 >>91
バグは確か「論理的に正しくない結果をもたらす何か」みたいな定義だったと思う。
マシン内に虫が侵入して電気的にショートするのが語源だしね。
同じ定義で使い続けるとバグとウィルスがあやふやになるというのは時代の流れだなぁ。
バグは確か「論理的に正しくない結果をもたらす何か」みたいな定義だったと思う。
マシン内に虫が侵入して電気的にショートするのが語源だしね。
同じ定義で使い続けるとバグとウィルスがあやふやになるというのは時代の流れだなぁ。
94デフォルトの名無しさん (ワッチョイ ffb9-sJj3)
2017/11/14(火) 13:16:31.95ID:Tcgv7xMn095デフォルトの名無しさん (ワッチョイ ff9d-QXYS)
2017/11/14(火) 14:03:33.75ID:5gpUPtII0 >>94
もともと、「感染」しないものはウィルスじゃない
いつのまにか独立したんじゃなくて、初めからちゃんと別物でちゃんと区別されていたんだが
いつのまにかまとめてウィルスと呼ばれるようになったんだ
今じゃマルウェア全般が広義にウィルスって言われる始末
バグは語源は諸説あるが、作成者の意図にそわない動作
ウィルスは作成者の意図にそった動作するプログラム
いくらなんでもそれを混同しないでくれ
もともと、「感染」しないものはウィルスじゃない
いつのまにか独立したんじゃなくて、初めからちゃんと別物でちゃんと区別されていたんだが
いつのまにかまとめてウィルスと呼ばれるようになったんだ
今じゃマルウェア全般が広義にウィルスって言われる始末
バグは語源は諸説あるが、作成者の意図にそわない動作
ウィルスは作成者の意図にそった動作するプログラム
いくらなんでもそれを混同しないでくれ
96デフォルトの名無しさん (ワッチョイ ffb9-sJj3)
2017/11/14(火) 17:57:06.04ID:Tcgv7xMn0 >>95
だからトロイの木馬もワームも単体ではウィルスじゃなかったんだよ。
言うなればコンテナみたいなものなんで、トロイの木馬型のパッチプログラムとかも可能だし。
たぶん想像している「定義づけられた時期」が違うせいで食い違ってるだけだな。
だからトロイの木馬もワームも単体ではウィルスじゃなかったんだよ。
言うなればコンテナみたいなものなんで、トロイの木馬型のパッチプログラムとかも可能だし。
たぶん想像している「定義づけられた時期」が違うせいで食い違ってるだけだな。
97デフォルトの名無しさん (ワッチョイ 5fc3-742n)
2017/11/14(火) 17:58:22.04ID:MC75ktwb0 もうやめよう
98デフォルトの名無しさん (ワッチョイ ff9f-wagG)
2017/11/15(水) 10:46:14.78ID:PQCfnSyv099デフォルトの名無しさん (スップ Sd9f-Lcj1)
2017/11/15(水) 12:15:18.42ID:l7NNgtZ+d プログラミングによる業務自動化絶対阻止マンがいて、ウィルスだろうがワームだろうが
題目はなんでもいいから邪魔しようとしている
という妄想をした...
...疲れているようだ
題目はなんでもいいから邪魔しようとしている
という妄想をした...
...疲れているようだ
100デフォルトの名無しさん (ワッチョイ dfb5-+bRG)
2017/11/15(水) 12:24:36.36ID:CIMTn4iP0 vbaが駄目なら関数でやればいいじゃない
101デフォルトの名無しさん (ワッチョイ ff9f-wagG)
2017/11/15(水) 12:41:18.42ID:PQCfnSyv0 いや、だからApplication.VBE系の実行を拒否する設定にしておけばOK。
普通はそうなってる。
マイクロソフトも散々懲りたということだろう。
Accessはそうなってないから危険だけど、どっちにしろアンチウィルスソフト入れたり、それなりに敏感ならまあ大丈夫だろう。
メールに添付されたファイルを何も考えずに開くようなバカのいる所はそもそもコンピュ−タ使うなって話。
普通はそうなってる。
マイクロソフトも散々懲りたということだろう。
Accessはそうなってないから危険だけど、どっちにしろアンチウィルスソフト入れたり、それなりに敏感ならまあ大丈夫だろう。
メールに添付されたファイルを何も考えずに開くようなバカのいる所はそもそもコンピュ−タ使うなって話。
102デフォルトの名無しさん (スッップ Sd9f-MWBu)
2017/11/15(水) 15:25:25.16ID:PmECE2vTd Excel2010からExcel2013にしたら「ライブラリが見つかりません」というが発生しました。
他のPCで作成したExcelファイルを開こうとしたら上記のようなエラーが発生したのです。
Excel2010の時も参照設定は参照不可になっておりましたがExcelに記載されているデータを
参照するだけでVBSは動かさないのでExcel2010ではエラーになりませんでしたが、Excel2013
ではファイルを開いた際に「ライブラリが見つかりません」というエラーになります。
これはExcelに開いた際に参照設定のチェックをしないみたいな設定があるのでしょうか?
他のPCで作成したExcelファイルを開こうとしたら上記のようなエラーが発生したのです。
Excel2010の時も参照設定は参照不可になっておりましたがExcelに記載されているデータを
参照するだけでVBSは動かさないのでExcel2010ではエラーになりませんでしたが、Excel2013
ではファイルを開いた際に「ライブラリが見つかりません」というエラーになります。
これはExcelに開いた際に参照設定のチェックをしないみたいな設定があるのでしょうか?
103デフォルトの名無しさん (ワッチョイ dfc3-/WXw)
2017/11/15(水) 17:08:22.00ID:MYmTne2b0 >>102
説明がひどいなw
説明がひどいなw
104デフォルトの名無しさん (ワッチョイ 5fb3-ZbMi)
2017/11/15(水) 20:25:36.13ID:m2725R1N0 vbeのツールのライブラリファイルって実体はなになんですか?参照不可になったりしますが
オブジェクトエクスプローラのライブラリともちがうし
オブジェクトエクスプローラのライブラリともちがうし
105デフォルトの名無しさん (アークセー Sx33-dU/l)
2017/11/15(水) 21:27:06.93ID:BuHcCqTIx >>102
VBSとオブジェクトライブラリに何の関係があるんだ?
VBSとオブジェクトライブラリに何の関係があるんだ?
106デフォルトの名無しさん (ワッチョイ 7fd2-Kfl6)
2017/11/15(水) 23:13:12.29ID:gnIues9e0 メモリリークはVBAでどう対処すればいい?
巨大なファイルクローズ後にまるまんまリークするのですが
巨大なファイルクローズ後にまるまんまリークするのですが
107デフォルトの名無しさん (ワッチョイ ffe9-JS46)
2017/11/15(水) 23:18:44.71ID:R7mLmomD0 巨大なファイルは
・作らない
・分割する
・変換する
・開かずに読み取る
・csvならテキストとして読み込む
この辺
メモリリークはある意味どうしようもないので前提からどうにかしないと解決しない
・作らない
・分割する
・変換する
・開かずに読み取る
・csvならテキストとして読み込む
この辺
メモリリークはある意味どうしようもないので前提からどうにかしないと解決しない
108デフォルトの名無しさん (ワッチョイ 7fd2-Kfl6)
2017/11/15(水) 23:25:33.43ID:gnIues9e0109デフォルトの名無しさん (ワッチョイ e18a-8CrJ)
2017/11/16(木) 02:14:21.20ID:Og9f/0gn0 俺なら読み取り専用で一部だけ読んで閉じる
110デフォルトの名無しさん (オッペケ Srd1-FHhe)
2017/11/16(木) 12:25:39.51ID:NqwHUE6Zr >>106
それはメモリリークではないので気にする必要はありません
それはメモリリークではないので気にする必要はありません
111デフォルトの名無しさん (ワッチョイ e18a-8CrJ)
2017/11/17(金) 11:56:05.53ID:8RvIbz6z0 巨大なファイルをSSDのHDDに移すと速いんじゃね
112デフォルトの名無しさん (ワッチョイ e18a-8CrJ)
2017/11/17(金) 11:57:22.13ID:8RvIbz6z0 HDDってかいたけどHDDじゃないけどな
113デフォルトの名無しさん (スフッ Sd22-2nK2)
2017/11/17(金) 12:27:16.57ID:OabwNEEsd SSDのHHDのFFD
114デフォルトの名無しさん (スップ Sd82-81ZB)
2017/11/17(金) 17:41:51.06ID:1LBcgp5Vd VBAで原価計算してる人いる?
115デフォルトの名無しさん (JP 0Hcd-59Nk)
2017/11/17(金) 20:16:29.56ID:Iig4V4n+H Dir関数で末尾$のフォルダを確認するとエラーになる。
(配下のフォルダはエラーにならない)
これ、どんな理由でしょうか?
(配下のフォルダはエラーにならない)
これ、どんな理由でしょうか?
116デフォルトの名無しさん (ワッチョイ 869d-67WJ)
2017/11/18(土) 00:56:48.74ID:lwdaQlHz0117デフォルトの名無しさん (JP 0Hcd-59Nk)
2017/11/18(土) 12:07:28.26ID:+9+JGsY3H >>116
ですよね。すんません。
'Case NG
?Dir("¥¥Svr¥Share$", vbDirectory)
'Case OK
?Dir("¥¥Svr¥Share$¥Sub", vbDirectory)
アクセス権は親フォルダから継承していますので双方UNCアクセス可能な状態です。Domain Admins権限で実行しています。
GetAttrの戻りは双方 16 です。
共有名に$をつけない場合は発生しないように見受けられます、、、
と、思ったのですが、$の有無ではなくて、共有フォルダ自体を指定すると発生するようです。
エラーは、52: ファイル名または番号が不正です。となります。
ご教示お願いします。
ですよね。すんません。
'Case NG
?Dir("¥¥Svr¥Share$", vbDirectory)
'Case OK
?Dir("¥¥Svr¥Share$¥Sub", vbDirectory)
アクセス権は親フォルダから継承していますので双方UNCアクセス可能な状態です。Domain Admins権限で実行しています。
GetAttrの戻りは双方 16 です。
共有名に$をつけない場合は発生しないように見受けられます、、、
と、思ったのですが、$の有無ではなくて、共有フォルダ自体を指定すると発生するようです。
エラーは、52: ファイル名または番号が不正です。となります。
ご教示お願いします。
118デフォルトの名無しさん (JP 0Hcd-59Nk)
2017/11/18(土) 12:11:55.49ID:+9+JGsY3H119デフォルトの名無しさん (JP 0Hcd-59Nk)
2017/11/18(土) 13:20:32.42ID:+9+JGsY3H >>116
末尾を"¥"で終わらせるとエラーにならないことがわかりました。でも戻りが "." になります。わからなくもないですが "Share$" を期待していたので、、
どう解釈すればいいのでしょうか。
(Dir を使う際は末尾 "¥" を励行したほうがいい?)
末尾を"¥"で終わらせるとエラーにならないことがわかりました。でも戻りが "." になります。わからなくもないですが "Share$" を期待していたので、、
どう解釈すればいいのでしょうか。
(Dir を使う際は末尾 "¥" を励行したほうがいい?)
120デフォルトの名無しさん (ワッチョイ 869d-67WJ)
2017/11/18(土) 17:21:41.22ID:lwdaQlHz0 UNCパスでそこは共有名であってフォルダ名じゃない気がするが
121デフォルトの名無しさん (ワッチョイ 821a-2Rtq)
2017/11/18(土) 17:56:31.65ID:HVgorTjE0 すいません wordのVBAです。 画像貼りつけて文字列の折り返しを背景にするのに下記では2行目で
描画の対象とならないオブジェクトが選ばれているためにtypeメソッドまたはプロパティは使用できません。
となりますが、どうしたらよいですか?
Selection.InlineShapes.AddPicture FileName:="a.jpg", SaveWithDocument:=True
Selection..ShapeRange.WrapFormat.Type=wdWrapBehind
描画の対象とならないオブジェクトが選ばれているためにtypeメソッドまたはプロパティは使用できません。
となりますが、どうしたらよいですか?
Selection.InlineShapes.AddPicture FileName:="a.jpg", SaveWithDocument:=True
Selection..ShapeRange.WrapFormat.Type=wdWrapBehind
122デフォルトの名無しさん (JP 0Hcd-59Nk)
2017/11/18(土) 19:38:08.85ID:+9+JGsY3H123デフォルトの名無しさん (JP 0Hcd-59Nk)
2017/11/18(土) 22:21:46.28ID:+9+JGsY3H 立て続けにすんません。
onAction の引数について、全角英数記号が半角に解釈されて実行されてしまうのは既知の仕様でしょうか?
ひらがなカタカナは被害を受けないようです。
CommandBars.ActiveControl.Caption
CommandBars.ActiveControl.OnAction
あたりで変換前の文字列を救出できるようですが、、根本的対応はないのでしょうか。
上記で躓いてしまい、公式で情報をみつけられなかったもので、、
onAction の引数について、全角英数記号が半角に解釈されて実行されてしまうのは既知の仕様でしょうか?
ひらがなカタカナは被害を受けないようです。
CommandBars.ActiveControl.Caption
CommandBars.ActiveControl.OnAction
あたりで変換前の文字列を救出できるようですが、、根本的対応はないのでしょうか。
上記で躓いてしまい、公式で情報をみつけられなかったもので、、
124デフォルトの名無しさん (ワッチョイ 869f-W+Hj)
2017/11/19(日) 10:05:19.39ID:M3mw+ZdH0 >>121
まずさ、Selection使うの辞めようぜ。
Hoge.Select
Selection.Fuga
という形が有ったらたいてい
Hoge.Fuga
という形にできる。
つまりね、大抵は選ぶ必要がない。
ある程度書ける人は選ぶ処理をいかに無くすかを考える。
そうすればApplication.ScreenUpdating=False使っても
速度が変わらなくなる。
ちらつき防止のために使うのが有用なのは変わらないんだけど。
.Selectを使うのはユーザーに明示的に場所を示す場合と、
本当にどうしようもない場合がごくまれにあるだけだ。
オブジェクトブラウザでShapeRangeとかWrapFormatを
調べてそこに何が(型)期待されてるかを調べる。
後は合わせれば良いだけだ。
まずさ、Selection使うの辞めようぜ。
Hoge.Select
Selection.Fuga
という形が有ったらたいてい
Hoge.Fuga
という形にできる。
つまりね、大抵は選ぶ必要がない。
ある程度書ける人は選ぶ処理をいかに無くすかを考える。
そうすればApplication.ScreenUpdating=False使っても
速度が変わらなくなる。
ちらつき防止のために使うのが有用なのは変わらないんだけど。
.Selectを使うのはユーザーに明示的に場所を示す場合と、
本当にどうしようもない場合がごくまれにあるだけだ。
オブジェクトブラウザでShapeRangeとかWrapFormatを
調べてそこに何が(型)期待されてるかを調べる。
後は合わせれば良いだけだ。
125デフォルトの名無しさん (ワッチョイ 869f-W+Hj)
2017/11/19(日) 10:10:14.58ID:M3mw+ZdH0126デフォルトの名無しさん (ワッチョイ 02e7-GXP8)
2017/11/19(日) 11:46:20.87ID:JvH46D6m0127デフォルトの名無しさん (ワッチョイ 46e9-e7SK)
2017/11/19(日) 11:56:21.06ID:aexN4+ic0 追加願いますって何を言ってるんだ???
128デフォルトの名無しさん (ワッチョイ 02e7-GXP8)
2017/11/19(日) 12:23:26.42ID:JvH46D6m0129デフォルトの名無しさん (ワッチョイ 46e9-e7SK)
2017/11/19(日) 12:30:59.55ID:aexN4+ic0 select使わない理由は誤作動の原因になるからの方が多いんじゃないか
もちろんパフォーマンスも大きく変わるけど、言うほど変わらない
それよりもコード上、何のブック、シートがactivateになっているかを把握する方が遥かにめんどくさい
もちろんパフォーマンスも大きく変わるけど、言うほど変わらない
それよりもコード上、何のブック、シートがactivateになっているかを把握する方が遥かにめんどくさい
130デフォルトの名無しさん (ワッチョイ 6eb9-dUYE)
2017/11/19(日) 12:55:38.95ID:YlgcavI50 作ってるものが偏っているからActiveSheetやSelectionを使う機会がないだけで、
もっと操作補助的な面の強いマクロなら使う場面もあるかもしれない。
もっと操作補助的な面の強いマクロなら使う場面もあるかもしれない。
131デフォルトの名無しさん (ワッチョイ 46e9-e7SK)
2017/11/19(日) 12:57:36.65ID:aexN4+ic0 確かにコードの最後にcells(1,1).selectはよく書くけど、それ以外のselectは>>124の通り「本当にどうしようもない場合」だけだな
オートシェイプかなんかでsetできなかったような、忘れたけど
オートシェイプかなんかでsetできなかったような、忘れたけど
132デフォルトの名無しさん (ワッチョイ 918a-F9AU)
2017/11/19(日) 13:53:20.81ID:wFQIPa4T0 IOと純粋関数部分を分けるようにと、Hな言語から学んだよ。
133デフォルトの名無しさん (ドコグロ MMca-ZIVp)
2017/11/19(日) 13:59:20.49ID:ZK6mPT5SM >>130
> もっと操作補助的な面の強いマクロなら使う場面もあるかもしれない。
まあそれが
> .Selectを使うのはユーザーに明示的に場所を示す場合と、
> 「ユーザーが明示的に選択したオブジェクトを処理する場合」
なわけだが
> もっと操作補助的な面の強いマクロなら使う場面もあるかもしれない。
まあそれが
> .Selectを使うのはユーザーに明示的に場所を示す場合と、
> 「ユーザーが明示的に選択したオブジェクトを処理する場合」
なわけだが
134デフォルトの名無しさん (ワッチョイ 869f-W+Hj)
2017/11/19(日) 16:16:58.30ID:M3mw+ZdH0 >>129
誤動作とか以前に無駄なことをしたくないという自然な考えがある。
Cells(1,1).Select
Cells(1,2).Select
Cells(1,1).Select
と書かれてたらなんじゃこれと思うだろ。
マクロの記録は操作を自然に記録してしまうけど、
やりたいことはそれじゃない。
それにコードも汚くなって読みたくないものになる。
誤動作とか以前に無駄なことをしたくないという自然な考えがある。
Cells(1,1).Select
Cells(1,2).Select
Cells(1,1).Select
と書かれてたらなんじゃこれと思うだろ。
マクロの記録は操作を自然に記録してしまうけど、
やりたいことはそれじゃない。
それにコードも汚くなって読みたくないものになる。
135デフォルトの名無しさん (アウアウオー Saca-6S2d)
2017/11/19(日) 16:18:58.83ID:8D87jpDPa ユーザーが明示的に選択したものに〜
ってのもぶっちゃけ運用の問題の気もするが
マクロ化の範囲にもよるんだけども
可能な限り避けるべきってのは正しいでしょ
ってのもぶっちゃけ運用の問題の気もするが
マクロ化の範囲にもよるんだけども
可能な限り避けるべきってのは正しいでしょ
136デフォルトの名無しさん (ワッチョイ 02e7-GXP8)
2017/11/19(日) 17:16:48.30ID:JvH46D6m0 >>135
>可能な限り避けるべきってのは正しいでしょ
そうなの?
実際それをやることは少ないけど、別に避けてるわけじゃないな。
「ボタンを押すと、選択しているセルの書式を〜する」なんて処理はたまにある。
>可能な限り避けるべきってのは正しいでしょ
そうなの?
実際それをやることは少ないけど、別に避けてるわけじゃないな。
「ボタンを押すと、選択しているセルの書式を〜する」なんて処理はたまにある。
137デフォルトの名無しさん (アウアウカー Sa49-z9KJ)
2017/11/19(日) 17:30:54.95ID:SAgRzZs9a ユーザーが明示的に選択したものに処理を与えるってのはアリだとは思う。
でもそれはHoge.Selectでは無くてSelectionを使う場合だよね。
でもそれはHoge.Selectでは無くてSelectionを使う場合だよね。
138デフォルトの名無しさん (ワッチョイ 02e7-GXP8)
2017/11/19(日) 17:35:35.45ID:JvH46D6m0139デフォルトの名無しさん (ワッチョイ 02b3-ZIVp)
2017/11/19(日) 17:48:04.11ID:lBNHVI9l0140デフォルトの名無しさん (ワッチョイ 46e9-e7SK)
2017/11/19(日) 17:50:02.84ID:aexN4+ic0141デフォルトの名無しさん (ワッチョイ 821a-2Rtq)
2017/11/19(日) 20:49:12.88ID:eK6D85VJ0 wordのマクロ組んでる人おらんのかな?
142デフォルトの名無しさん (ワッチョイ 46e9-3zcL)
2017/11/19(日) 21:18:16.41ID:aexN4+ic0 >>121>>141
そもそもwordを使わない
あととりあえず動くコードを書いてくれ
Selection..ShapeR
ピリオドがニコあって邪魔
で、差し込んだ画像の文字列の折り返しってのが何がしたいのか良く分からん
テキストボックスなら分かるしそれで通るけど
そもそもwordを使わない
あととりあえず動くコードを書いてくれ
Selection..ShapeR
ピリオドがニコあって邪魔
で、差し込んだ画像の文字列の折り返しってのが何がしたいのか良く分からん
テキストボックスなら分かるしそれで通るけど
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 習政権、高市首相への態度硬化 台湾有事発言で連日非難 中国 ★11 [ぐれ★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る ★3 [蚤の市★]
- 日本損失1.7兆円に修正 中国渡航自粛の影響試算 [蚤の市★]
- 「どうしようもない」 ため息つくアジアの玄関口 中国の訪日自粛で−福岡市 [蚤の市★]
- 橋下徹氏 外務省幹部の訪中受け「口だけ番長」へ痛烈指摘 「喧嘩は日本の完敗…なんとかっこ悪い日本か」 [冬月記者★]
- 「アベノミクス」で投資対象と化したマンション ローンの低金利続き「年収の12倍」借りる20代出現 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- 中国「高市が頭を下げて謝罪しない限り、絶対に許さない」 [329329848]
- ほかほかご飯にかけるとうまいもの一覧
- 石巻酒田道路
- 女さん「お金を稼げない男に魅力を感じない。イケメン高身長でも底辺なら、チビハゲデブ等生きるに値しない命の仲間に感じる」2042万いい [257926174]
- (*´ω`*)…モキュ……モキュ…
