1 名前:デフォルトの名無しさん [2020/06/26(金) 02:01:29.56 ID:uDfmpksE0.net] !extend:checked:vvvvv:1000:512 ↑同じ内容を2行貼り付ける ExcelのVBAに関する質問スレです コード書き込みや作成依頼もOK ※前スレ Excel VBA 質問スレ Part66 https://mevius.5ch.net/test/read.cgi/tech/1589085825/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
209 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 16:09:00.53 ID:MUUOvXMba.net] data.csv 年月日,時間,気温,湿度 2020/07/04,11:15,28.5℃,78% 2020/07/04,12:15,ー,78% 2020/07/04,13:15,28.5℃,ー 2020/07/04,14:15,ー,ー 2020/07/04,15:15,28.5℃,78% ・・・ ・・ ・ 1カ月データとして24時間×31日=744行+先頭行 1年12ヶ月データで8,928行かぁ データスルーとかデータ穴埋めとかって どっちの場合も VBA じゃなくてデータベースのSQLで出来たりするのかな?
210 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 16:22:41.23 ID:DNEaiqy30.net] おれならそもそも案件をRDBMSに移す提案をするわ だめなら元データはどうせCSVやJsonかなにかだろうし、VBAから普通にRDBにいれてプロシージャ叩くとか 外部プログラムで直に処理するね 元データがExcelでExcel縛りなら、どうやって案件から手を引くかを考えるねw Excel起動するVBAでやることじゃない まあ金次第でもあるけど
211 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 16:30:22.62 ID:DEQjmcqBd.net] >>209 う〜ん、場所毎だから表になるっちゃあなるけど、SQLでやろうとは思わなかったし、どうやってやるのかも思い付かんわ。 仕事でSQLばかり触ってるが。 >>210 おう、確かに元データはCSVだった。 SQLで上手いことやるのが思い付かんが。
212 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 16:35:45.74 ID:qCMIttGKd.net] pythonでデータクリーニングさせれば?
213 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 16:42:21.08 ID:IjVZd7O90.net] >>196 > 安定時のデータ値だけならともかくデータの変化を取りこぼすリスクが高くなるんだよ 平均とってる時点で取りこぼしとか意味不明なんだけどw
214 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 16:47:20.12 ID:IjVZd7O90.net] >>207 2000列で高々3万行程度だろ Excelの計算式はマルチスレッドで動くから自称「初心者じゃない」君のVBAより速いと思うぞ
215 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 17:02:54.82 ID:DEQjmcqBd.net] >>214 バーカw やってから言え。 本当バカだなあ。 そもそもファイル重くて碌に動かねえよ。
216 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 17:18:55.42 ID:pfDbF4Mra.net] どうせ適当なデータでっち上げて表示させても気づかないだろ
217 名前:200 mailto:sage [2020/07/04(土) 17:35:53.50 ID:oup49XFx0.net] >>203 おっしゃる通りでした。 IFに問題があったみたいです。ありがとうございました。
218 名前:デフォルトの名無しさん (ワッチョイ 8e02-JJ0U) mailto:sage [2020/07/04(土) 17:46:55 ID:aRnpDm0b0.net] 5ちゃんのExcelVBA質問スレでMonaさんに対してマウントを取りたいのですが、 Mount Mona と記述してもマウントが取れません どうすればいいですか?
219 名前:デフォルトの名無しさん [2020/07/04(土) 17:49:24.23 ID:1naoKVTK0.net] >>207 お前が馬鹿なだけだろ 全部メモリーに置く理由もない 己の頭の問題を仕様の問題とすり替えるな
220 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 17:54:43.71 ID:oup49XFx0.net] A列の2行目以降に値あり、B列の2行目以降に同じ行のA列の値が 上から何回目に出現したかを返す関数として「=COUNTIF($A$1:A2,A2」を使っています。 同じことを配列で使用する方法を教えて下さい。 (A列の値は並び替えをしてあります) Dim EndRow As Long, r As Long EndRow = Cells(Rows.Count, 1).End(xlUp).Row ReDim ary(EndRow, 2) ary = Range("A2:B" & EndRow).Value For r = 1 To EndRow - 1 ary(r, 2) = Application.WorksheetFunction.CountIf _ (Range(ary(1, 1), ary(r, 1)), ary(r, 1)) Next r これだとRangeメソッドは失敗しましたになります。
221 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 18:14:15.70 ID:DEQjmcqBd.net] >>219 出来もしないこと言ってるバカ? それとも、それ迄のやり取りすら出来ないバカ? 手作業やExcel数式でやってから言え。 ちゃんとそれ迄のやり取りも読んでから言えよw
222 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 19:58:17.09 ID:VZt6Ms3K0.net] >>185 批判したいとかそういうもんじゃないんだけど わりと大きなデータ扱うことに興味があったんでどんなもんか実際やってみた 1カ所分しかやってないんだけど csvから取得して平均値26280個をシート記入するまで1秒もかかってない感じ 一日ごとの平均は出してないけどこの分じゃそれほど差はないと思う もしや取得時には配列で一括取得してても シート記入時に配列使った一括記入してないんじゃ? も少し情報提供すると https://www.data.jma.go.jp/gmd/risk/obsdl/index.php# ここから3年分時間別気温データを、1年ごとcsvにして三個ダウンロード https://www.moug.net/tech/exvba/0060086.html これと同じ感じでOpen使って取得 年ごとに必要な気温データのみ1次元配列に入れる 3つの配列を1つの配列にまとめる 平均値入れていく配列AveArrayを新しく作る(あえてString宣言) あとはforで回しながら過去8時間分のデータを調べてデータない場合の個数を調べて 4つ以上ならAveArrayにN/Aを入れる 4つ未満なら8時間合計して、有効データ数で除算し、AveArrayに入れる AveArrayを列数1の2次元配列にしてからシートに一括記入 なんかおれ間違ってる?
223 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 20:07:02.00 ID:ZiXQ0AsVa.net] こうやって実際にやってみる人は素晴らしいと思う
224 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 20:15:53.04 ID:/OqMGH1W0.net] >>220 matchならともかくcountifは配列に対応してない 素直にセルを引数にしてやったほうがいいのでは
225 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 20:17:12.12 ID:JHoncA5/a.net] countifじゃなくてloopでfindにすればよいのでは
226 名前:デフォルトの名無しさん (ワッチョイ 87da-VQSO) mailto:sage [2020/07/04(土) 22:27:57 ID:VMWug14q0.net] VBAは手段の一つ、目的はデータの加工ってわりきればすぐ終わる作業なのに 無理してVBAだけでやろうとするからいつまでもおわらない
227 名前:デフォルトの名無しさん mailto:sage [2020/07/04(土) 23:58:08.33 ID:DEQjmcqBd.net] >>222 ちょっと見た感じほぼ、俺と同じ感じだね。 >もしや取得時には配列で一括取得してても シート記入時に配列使った一括記入してないんじゃ? オイオイ、そんな素人なわけ無いだろ。 Line inputを使ったか、それより速いバイナリ読み込み+StrConv使ったかについては覚えて居ない。 まあ、速いといっても劇的に速くなる訳じゃないから、そんなことよりマルチプロセスってことでLine inputのままだったかも。 オレがやった時のデータは日付+24列のデータだった。 貼り付けは元データ込みで、元データの右に8時間平均と1日平均書いたと思うが、もしかしたら8時間平均は出力しなかったかも。 多分読み込みよりも列を増やした二次元配列にして書き込みにも利用してたと思う。
228 名前:デフォルトの名無しさん (スップ Sd4a-aBdg) mailto:sage [2020/07/05(日) 00:48:44 ID:poq4gvQsd.net] 複数のファイルの名前を編集したい 具体的には、全てのファイルのファイル名に、2020と入れたい。
229 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 00:51:15.79 ID:C4Jqu0Op0.net] DOSコマンドでできる
230 名前:デフォルトの名無しさん (ワッチョイ 27ce-BXkI) mailto:sage [2020/07/05(日) 01:49:00 ID:UMxIfgnY0.net] >>228 ファイル名のどこに入れるの?先頭?真ん中?末尾?
231 名前:デフォルトの名無しさん [2020/07/05(日) 01:59:51.75 ID:S3+IlzuQ0.net] >>230 その程度vbaなら自由自在でしょ バカにしないでください
232 名前:デフォルトの名無しさん [2020/07/05(日) 02:04:39.40 ID:sCEs+yW00.net] >>227 お前の書き込みは、 「というか普通に考えてVBAでも無理だけどね。」 だろ 後付けで時間がとか言い出して誤魔化すんじゃねーよ
233 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 03:08:45.12 ID:EDU6Wt820.net] powershellでやれ
234 名前:デフォルトの名無しさん (ワッチョイ 8a01-c9XW) [2020/07/05(日) 07:10:34 ID:Mq9FuBzw0.net] 標準モジュールに、 Sub 1() ・・・ ・・・ End Sub Sub 2() ・・・ ・・・ End Sub Sub 3() ・・・ ・・・ End Sub と、書いていき、Sub 1()がSub 2()を呼び、Sub 2()がSub 3()を呼ぶ、って可能でしょうか?
235 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 07:16:23.84 ID:2yUokYO9d.net] >>232 ??? 日本語が理解出来ないのか? >なんてのやったが1回限りでもVBA使わないと無理。 「やった」と書いて有るだろ。 その後に「普通に考えて」とも書いてる。 実際にやったが、普通はVBAでも無理という意味だよ。 >>222 とほぼ同じで6時間かかるからマルチプロセスにしたんだからな。
236 名前:デフォルトの名無しさん (ワッチョイ 8a01-5cl0) mailto:sage [2020/07/05(日) 07:44:05 ID:VaIdJVAp0.net] >>227 せっかくなんで csvは日付+24列に加工してみた 1カ所の8時間ごと平均データ26280個を作って1列に貼り付けるfunctionを作る 引数は貼り付け先の列の列番号 これを ?1回だけ実行 A列のみに貼り付け ?100回実行 A列から右100列に1列ごと貼り付け ?200回実行 A列から右200列に1列ごと貼り付け timer付けて一応測ってみた ?0.31秒 ?32秒 ?67秒 2000回だと12分ぐらいか? CPU i5-4670 メモリ 24GB Win7 実行時はPCでテレビ見ながらJane2個起動 firefox、Janetterなど20個以上のアプリが動いてる 環境やらデータの数値の大きさやらで 差は2000倍に拡大する可能性があるんで何とも言えない うちの職場のしょぼいPCでやったらもっと酷いと思う
237 名前:234 (ワッチョイ 8a01-c9XW) [2020/07/05(日) 07:54:44 ID:Mq9FuBzw0.net] >>234 をグーグルで検索するには、どういうキーワードで検索すればいいでしょうか?
238 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 07:57:11.74 ID:R1IME3L+0.net] >>228 Ruby で作った。 ただし、DryRun なので実際には実行されません! require 'fileutils' # 絶対パスのディレクトリ名の後ろに、* を付けること! # . で始まる、隠し directory, file を除く glob_pattern = "C:/Users/Owner/Documents/*" src_dir = File.dirname( glob_pattern ) # ディレクトリパスだけを取り出す Dir.glob( glob_pattern ) .select { |full_path| File.file?( full_path ) } # ファイルのみ処理する .each do |full_path| # 1つずつ処理する dest_path = src_dir + "/" + "2020_" + File.basename( full_path ) # ファイル名 FileUtils::DryRun.move( full_path, dest_path ) end # mv C:/Users/Owner/Documents/a.txt # C:/Users/Owner/Documents/2020_a.txt
239 名前:234 [2020/07/05(日) 08:01:08.68 ID:Mq9FuBzw0.net] >>228 ファイルをバイナリで読み込んで、バイナリで書き出す、 で、書き出す際に、ファイル名に"2020"&、とすればいい。
240 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 08:01:41.62 ID:VaIdJVAp0.net] >>234 うん >>237 vba 関数 呼び出し 偉いね、その姿勢があればすぐにプロフェッショナルだわ
241 名前:デフォルトの名無しさん [2020/07/05(日) 08:04:40.53 ID:nDNnOTMWa.net] >>234 普通に最後にサブルーチンの名前呼び出し書いたら良いのでは? Sub 1() ・・・ ・・・ 2 End Sub Sub 2() ・・・ ・・・ 3 End Sub Sub 3() ・・・ ・・・ End Sub
242 名前:234 [2020/07/05(日) 08:05:40.42 ID:Mq9FuBzw0.net] >>240 どうもです。
243 名前:234 [2020/07/05(日) 08:06:29.51 ID:Mq9FuBzw0.net] >>241 どうもです。
244 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 11:36:58.35 ID:CJtrxhlB0.net] >>242 呼び出しは、可読性考慮すると文頭にCall書いた方がいいよ
245 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 13:58:43.83 ID:U1BgWcwt0.net] >>207 VBAでやっても6時間はかかりすぎな気がするが マシンスペックとコード晒してみ それ、計算式でやって再計算に1時間以上かかるのか? 当然試してるよな マルチプロセスもどうやってやったのか気になるが 俺なら間違いなくDBにつっこんでSQLでやる そういえばエクセルシートなりCSVなりに対してSQL投げる方法がいくつかあったけど それは試したのか?
246 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 15:07:25.29 ID:2yUokYO9d.net] >>239 ファイル名変更だから読む必要は無いだろ。 変更するだけでOK。
247 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 15:11:46.86 ID:BTTSshKd0.net] >>244 おれもsubモジュール呼び出しはCallつけるようにしてる 他の言語いじったにあととかにVBAのその行みたらよくファッ!?って一瞬なるから
248 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 15:16:11.04 ID:2yUokYO9d.net] >>245 SQLに投げるのは簡単だが、今回の問題でどういうSQLで出来るのかが分からんかった。 今でも思い付かんが。 計算式ではやってないな。 まあ、無駄なんで。 というか、本当にやる奴が出るとは思わんかったから、言わんかったが他にも制約は有ったんだわ。 それにしても>>236 は速いな。 ちょっとおれも調べてみるか。 ちなみにこの仕事数年前なんで完全に憶えてるわけじゃない。
249 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 15:22:54.54 ID:2yUokYO9d.net] マルチプロセスはExcel.Application8個(自分含めて)呼び出して、自分のブック開いて別CPUにやらせるプロシージャをApplication.OnTimeで呼び出したかSetTimerで呼び出したかだったんじゃないかな。 細かい連携しないで済むようにしてたと思う。 複雑なことはやってねえよ。
250 名前:220 (ワッチョイ 87cc-ERT+) mailto:sage [2020/07/05(日) 19:59:50 ID:Y6miK3VP0.net] >>224 いろいろ試してダメだったらそうします >>225 ありがとうございます。そうします
251 名前:デフォルトの名無しさん (スプッッ Sd4a-tYaB) mailto:sage [2020/07/05(日) 21:27:28 ID:2yUokYO9d.net] >>236 う〜ん、分からん。 俺もやってみたんだが、同じような時間だった。 観測値はテキ卜一に0〜100をランダムで書き込み。 観測出来なかった値は当時の記憶を頼りに9999とした。 確か9998もあったけど変わらんだろう。 前に書いた制約というかは、1年分のファイルが50〜60個ぐらいだったということ。 つまり県ごとのファイルで観測地が多い所は複数ファイルって感じ。 だから実際は行頭に観測地名が入って、その後に何かの数値とかが幾つかあって日付、観測値という具合だった。 年ごとのファイルが完全に固定フォーマットで無かったか、俺が信用してなかったか、観測値名で検索してたと思う。 そこから365日分は連続してたと思うけど。 それでも6時間は掛からんような気がしてきた。 もっと複雑なことやってたのかなあ。 どっちにしても後だしで申し訳ない。
252 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 22:26:04.09 ID:ys79fvH60.net] >>251 そもそもいつ頃の話よ うろ覚えだけど2010あたりから計算式はめちゃめちゃ速くなってるぞ あとでかいブックは64bit化の恩恵もあるし
253 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 22:29:31.22 ID:2yUokYO9d.net] >>252 調べたらそんなに昔じゃ無かったな。 2016年だった。
254 名前:238 (ワッチョイ 872c-+ZV3) mailto:sage [2020/07/05(日) 22:43:00 ID:R1IME3L+0.net] ファイル名の先頭に、2020_ を付けるぐらい、robocopy で出来ないのか?
255 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 22:49:17.55 ID:ys79fvH60.net] 2016ならよほど変なことをしてないと数時間とかかからんと思う
256 名前:デフォルトの名無しさん mailto:sage [2020/07/05(日) 23:53:51.99 ID:C4Jqu0Op0.net] 2020_2020_2020_2020・・・・
257 名前:デフォルトの名無しさん (ワッチョイ ea24-bNAA) mailto:sage [2020/07/06(月) 00:43:25 ID:Cn1gvhVh0.net] officeが32bitだったというオチは?
258 名前:デフォルトの名無しさん (オッペケ Sr23-aBdg) mailto:sage [2020/07/06(月) 06:39:12 ID:NN5xIHVpr.net] workbookとworksheetって何が違うか。
259 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 07:15:30.65 ID:5mzvDM1u0.net] キングジムファイルと綴じられてる一覧表って感じかな
260 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 08:12:33.04 ID:XvhlV03D0.net] 32bitと64bitで計算スピードの差は2倍もないような
261 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 08:39:32.35 ID:NN5xIHVpr.net] Activesheet.cells(1.1).Activate Activesheet.Paste は上手くいくのに、 Activesheet.cells(1.1).Paste は何でダメなんですか?
262 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 09:18:02.55 ID:Ag715axD0.net] >>261 .pasteは、worsheetのメンバであってrangeやcellsのメンバじゃないから、かな?
263 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 09:49:31.89 ID:Smcv6rvz0.net] パラメータ Destinationがあるから ワイはPasteSpecialのほうが好き
264 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 12:08:40.63 ID:0NryXgvDd.net] >>263 普通はCopyのDestinationでやるからな。 Paste使うのはRange以外のコピーの時かな。
265 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 18:39:32.80 ID:XttWreH00.net] For 処理1 処理2 処理3 処理4 Next よりも For 処理1 Next For 処理2 Next For 処理3 Next For 処理4 Next の方が処理が早い傾向がありますが、そういうものですか?
266 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 19:08:39.04 ID:tFUllOPh0.net] >>254 出来ないよ???? robocopy はファイル名の変更はできない。 robocopy したあと move するしかない。 …あ。こいつWSHスレを荒らしてたrubyおじさんじゃんww
267 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 19:10:33.89 ID:tFUllOPh0.net] てか、もうRubyは徒花だったな。 人気もダダ下がりだし。
268 名前:デフォルトの名無しさん (スプッッ Sd4a-tYaB) mailto:sage [2020/07/06(月) 20:45:52 ID:0NryXgvDd.net] >>266 よく分からんが、そもそも何でRubyが出て来るんだ? VBAだってNameステートメントで一発なのに。
269 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 20:59:38.60 ID:aGu/2bZb0.net] >>265 普通にかんがえて、前者のほうがループのオーバーヘッド分早いはずだが その傾向ってのはどうやって調べたのか
270 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 21:12:06.08 ID:tFUllOPh0.net] >>268 どこでもかしこでもRubyで書いて押し付けてきて、「出来だよ!」っていうオジサンがいるのよ。 WSHスレでは「Rubyおじさん」として有名だった。 が、自分よりスキルの上な奴がコードをうしたら黙り込む。 こんなところにまで出張いてるとはね…。 無視推奨。Rubyはオワコンだし。
271 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 21:13:16.26 ID:K1goXTAAa.net] じゃあVBAはお爺ちゃんだろ
272 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 21:17:13.18 ID:tFUllOPh0.net] >>271 VBAは「頼れるジジイ」だろ。何言ってんの?
273 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 21:29:12.52 ID:XvhlV03D0.net] >>265 そんなのは処理による コードが長くなったりループの中で扱うデータが増えるとメモリキャッシュがあふれて遅くなる可能性が高くなる
274 名前:デフォルトの名無しさん mailto:sage [2020/07/06(月) 22:27:45.01 ID:33E9zFJO0.net] Rubyの話がしたければRubyのスレ行けばいいのにね
275 名前:デフォルトの名無しさん (スプッッ Sd4a-tYaB) mailto:sage [2020/07/07(火) 12:27:17 ID:mk51G87Dd.net] >>270 いや、それはRubyが優位と言いたいが為だろ。 全然優位じゃない所に出てくるのが分からん。
276 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 19:51:41.03 ID:CAdbpiIn0.net] 宣伝だろ
277 名前:デフォルトの名無しさん [2020/07/07(火) 20:15:33.65 ID:2cf+0s2v0.net] 音楽のmidiファイルを作りたい、つまりバイナリファイルを作りたい者です。で、 ↓を試してみたいのですが、"C3"にバイナリの配列を書き込まなければいけません。 この場合、どうやってexcelのセルに、バイナリの配列データを書き込むのでしょうか? https://oshiete.goo.ne.jp/qa/8402512.html Sub test() TEMP = Worksheets("Sheet1").Range("C3") ReDim BIN(Len(TEMP) / 2 - 1) As Byte For I = 1 To Len(TEMP) Step 2 BIN((I - 1) / 2) = Val("&H" & Mid(TEMP, I, 2)) Next I Open "1.BIN" For Binary As #1 Put #1, , BIN Close #1 End Sub
278 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 20:25:40.74 ID:BPFgnJg70.net] なんでVBAでやるの?
279 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 20:27:13.84 ID:z4TbLErcM.net] VBAスレだから
280 名前:犬丸 [2020/07/07(火) 20:31:41.96 ID:2cf+0s2v0.net] >>278 和音の構成音(ドレミ・・・)を1つづつセルに入れられるから。
281 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 20:33:47.85 ID:BPFgnJg70.net] なんでdominoとか使わないの?
282 名前:デフォルトの名無しさん [2020/07/07(火) 20:34:49.08 ID:2cf+0s2v0.net] あと、PCにインストールされてる開発系はexcelだけだから。
283 名前:277 [2020/07/07(火) 20:41:28.24 ID:2cf+0s2v0.net] つか、改変させたいmidiファイルが300個位あって、それの欲しいデータのexcelファイルへの読み込みはもう終わったわけ。 あとは、そのデータをちょい改変して、同様な300個のmidiファイルを吐き出すだけなんですよ。
284 名前:277 [2020/07/07(火) 20:42:49.00 ID:2cf+0s2v0.net] だから、excelでバイナルファイルを作りたいのです。
285 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:00:27.95 ID:yByKJQAn0.net] 読み込めたなら反対をやればいいんじゃないの
286 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:05:07.15 ID:CAdbpiIn0.net] >>283 著作権的にどうなの?
287 名前:277 [2020/07/07(火) 21:10:37.49 ID:2cf+0s2v0.net] >>285 日本語だってそうだろ。 読むのは簡単。 書くのは大変なんだよ。 >>286 ネットで買った和音だけの簡単なデータで改変したデータを自分だけで使うぶんには問題ありません。
288 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:13:27.88 ID:BPFgnJg70.net] じゃあそうすればいいじゃない? 所詮16進数の文字の羅列(Byteの配列とかにはさすがに出来てるんやろ?)なんだから 最終的には好きに料理してファイルに吐き出せばいい ただ、1つのセルにバイナリなんて入れたら手作業で編集なんてしずらくてしょうがないけどな あとセルの文字数上限もあるだろうし midiの規格書読んだことあるのかしらんが、よくチャンクとかバイナリいじって編集しようと思うな
289 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:13:57.80 ID:CAdbpiIn0.net] >>287 ならmidiの編集ソフトが使った方がいいね
290 名前:277 [2020/07/07(火) 21:14:00.67 ID:2cf+0s2v0.net] >>286 そもそも観賞するためのmidiデータではなく音楽制作に使うツールとしてのmidiデータなんだよね。
291 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:14:32.40 ID:/HMzap4UM.net] >>282 C#やVB.NETもあるけど?w
292 名前:277 [2020/07/07(火) 21:22:41.71 ID:2cf+0s2v0.net] >>288 > midiの規格書読んだことあるのかしらんが、よくチャンクとかバイナリいじって編集しようと思うな 基礎的な部分は把握してます。 > 所詮16進数の文字の羅列(Byteの配列とかにはさすがに出来てるんやろ?) これがわからないんです。たとえば、4D 54 68 64という16進のデータをexcelの1つのセルに書き込む方法を教えて欲しいのです。
293 名前:277 [2020/07/07(火) 21:25:44.85 ID:2cf+0s2v0.net] で、excelの"C3"に、4D 54 68 64を書き込んで>>277 のソースを動かして試してみたいんです。
294 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:26:04.88 ID:CAdbpiIn0.net] これなんか良いんじゃね https://openmidiproject.osdn.jp/Sekaiju.html
295 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:29:51.89 ID:CAdbpiIn0.net] midiの規格ってそんな簡単じゃないから素人が扱っても音が切れたりトラックがずれたりして 結局使えないだろ
296 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:32:34.47 ID:7cSgkxva0.net] ExcelのRange#valueにバイト列なんか入るわけないんだから自分がわかりやすいように文字列か数値に勝手に変換して勝手に入れろとしか言えない
297 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:34:29.92 ID:MaHOmhaOM.net] Excelでmidiデータを取り扱うなんて常人の発想ではない たぶんあなた以外に誰も方法はわからないから頑張ってその道の第一人者になって欲しい
298 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 21:35:25.31 ID:BPFgnJg70.net] >>292 セルに入れられるのはあくまで文字列ってこと理解してないの? その例なら「Byte(0):77 Byte(1):84〜」とかいう配列から「4D 54 68 64」という文字列にしなければセルには書き込めない Byteはそれぞれの数値が入ってるだろうけど、hexかなんかで16進数にしたうえで(編集上必要あるか知らんけど) join(array, " ")かなんかで1つの文字列にする くっそ編集しずらいだろうけどな
299 名前:デフォルトの名無しさん [2020/07/07(火) 21:44:56.92 ID:tZSrRerM0.net] 前スレのテキストフルスキャンの発想とコード提示してくれた人 改めて言わせて貰う 職場の一大イベントを乗り切ったわこれで
300 名前:デフォルトの名無しさん [2020/07/07(火) 21:46:02.99 ID:tZSrRerM0.net] 改めて多大なるお礼を言わせて貰うが抜けてた これのおかげですべての可能性が広がったわ
301 名前:277 [2020/07/07(火) 22:23:53.24 ID:2cf+0s2v0.net] では、すみません。 >>277 の質問はなしにして、↓の質問をお願いします。 1、変数に「4D 54 68 64」のバイナリデータを代入するソース 2、中身は「4D 54 68 64」だけのファイル 3、ファイル名は5ch.bin こんなファイルを作るにはどのようなソースを書けばよいでしょうか?
302 名前:277 [2020/07/07(火) 22:29:17.16 ID:2cf+0s2v0.net] >>228 allrenameというフリーソフトを使えばいいのじゃ。
303 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 22:32:51.69 ID:CAdbpiIn0.net] >>301 バイナリ編集のソフト使えばいいんじゃね
304 名前:301 [2020/07/07(火) 22:42:26.54 ID:2cf+0s2v0.net] >>303 すみません。 「VBAを使って」でした。
305 名前:デフォルトの名無しさん [2020/07/07(火) 22:43:37.27 ID:O/UE8zUS0.net] もはやExcelを使うことが目的化してる
306 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 22:44:27.22 ID:yByKJQAn0.net] それもう読み込んだデータ無意味やん フォーマット知らんけどセルに書き出せたんならファイルにもいけるやろ
307 名前:301 [2020/07/07(火) 22:54:30.10 ID:2cf+0s2v0.net] >>306 基礎になるソースさえ教えてもらえれば、そこに色々付け加えてって自分に必要なバイナリファイルが作れるんですよ。
308 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 22:57:06.69 ID:BPFgnJg70.net] まず書く努力をしよう
309 名前:デフォルトの名無しさん [2020/07/07(火) 22:57:22.32 ID:0KBHODZEd.net] >>307 そろそろ死ねや
310 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 23:05:51.69 ID:1TMQwlbY0.net] Excelの設定もAppDataの中身も場所も変えて無いのに、 下記のように表示されてマクロが読めません! 「起動フォルダーにある個人用マクロブックは記録のために開かれた状態でなければなりません」
311 名前:デフォルトの名無しさん mailto:sage [2020/07/07(火) 23:09:31.21 ID:exS2x9T+0.net] >>310 そのままググった https://xtech.nikkei.com/it/pc/article/NPC/20070719/277869/
312 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 00:06:04.08 ID:66yUE/saa.net] >>301 「'4D 54 68 64'」シングルかダブルで囲えば良いのでは? 「"4D 54 68 64"」 あるいは いったんタブ区切りファイルtmp.tsvを途中で 中間ファイルとして介在させたらいいんじゃないですか?
313 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 00:14:08.99 ID:4BPfKF9s0.net] ソースくれくれ君だからひんとあろうが自分で書かないよ、こういうやつ
314 名前:301 (ワッチョイ 2301-6wWl) [2020/07/08(水) 01:45:46 ID:gPwSdoJG0.net] >>312 ありがとうございます。でも、「セルから変数を代入する」は止めました。で、>>277 を変形してみたんですけど、↓のドコがまずいんですかね? Sub test() Dim TEMP As Variant Dim I As Variant Dim BIN As Variant TEMP = Array(&H4D, &H54, &H68, &H54, &H68, &H64) ReDim BIN(Len(TEMP) / 2 - 1) As Byte For I = 1 To Len(TEMP) Step 2 BIN((I - 1) / 2) = Val("&H" & Mid(TEMP, I, 2)) Next I Open "C:\1.BIN" For Binary As #1 Put #1, , BIN Close #1 End Sub
315 名前:301 [2020/07/08(水) 01:49:45.50 ID:gPwSdoJG0.net] つか、 ReDim BIN(Len(TEMP) / 2 - 1) As Byte この部分が何だかわかんないんですよ。 まず、ReDimとは何だ?と。
316 名前:301 [2020/07/08(水) 02:05:21.42 ID:gPwSdoJG0.net] 目的は、 &H4D, &H54, &H68, &H54, &H68, &H64という6個のバイナリデータだけの、 1.BINというファイルを作りたい! です。
317 名前:デフォルトの名無しさん (ワッチョイ cb63-jZ9g) mailto:sage [2020/07/08(水) 03:08:12 ID:F8fi/iH60.net] Excelでやる事ではない 以上です
318 名前:デフォルトの名無しさん (ワッチョイ cb63-jZ9g) mailto:sage [2020/07/08(水) 03:11:39 ID:F8fi/iH60.net] まずバイナリが何かすら分かってなさそうだしこの分だとmidiについても何も分かってなさそう
319 名前:デフォルトの名無しさん (ドコグロ MM43-jxlo) [2020/07/08(水) 03:24:41 ID:llacuNM3M.net] ここで聞くより、「vba バイナリデータ」でググったほうが早そう
320 名前:デフォルトの名無しさん (アウアウウー Sa09-X/TW) mailto:sage [2020/07/08(水) 04:08:36 ID:a4KGuVW5a.net] うちは会社のpcでバイナリ編集するのってセキュリティー的にアウトだし
321 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 05:18:34.50 ID:hKBgVgLRr.net] この写真のように、例えば、3以下の数値をアクティブにする方法を教えて頂きたい できれば、for next 構文はなしで 一発検索が望ましい。 https://i.imgur.com/EGujBbu.jpg
322 名前:デフォルトの名無しさん (アウアウエー Sa13-c9t6) mailto:sage [2020/07/08(水) 06:25:23 ID:yrsbI81qa.net] >>315 > ReDimとは何だ?と 思ったらググって下さい。 ReDim BIN(Len(TEMP) / 2 - 1) As Byte よくわからないですが動的配列を半分の長さで確保してるようです。 512÷2-1=255 forで繰り返すMid関数のスタート引数が1からのため配列の0番を1つ引算してまふ 「4D 54 68 64」ではなくてスペースなし「4D546864」か Replace関数でスペースを削除しましょう 出来た文字列"4D546864"に対して ループで前から2文字ずつ"&H"を付け足しているので おそらく"&H4D&H54&H68&H64"が生成されるのでしょう なので>>314 のコードは全く意味がありません。
323 名前:デフォルトの名無しさん (アウアウエー Sa13-c9t6) [2020/07/08(水) 06:49:42 ID:yrsbI81qa.net] >>321 > できれば、for next 構文はなしで こんな縛りが無ければ普通にググって出てくるし以下で出来るだろうけど 複数のセルを選択する officetanaka.net/excel/vba/tips/tips126.htm
324 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 07:11:29.93 ID:x0V53xaA0.net] つーかわざわざselectする意味あんの?
325 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 07:47:38.02 ID:8s/zJrIHa.net] わからないで書いてたのか
326 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 07:58:30.68 ID:krt5VVG+d.net] >>316 簡単だろw Dim btByte() As Byte Dim lngFN As Long btByte(0)=&H4D btByte(1)=&H54 btByte(2)=&H68 btByte(3)=&H54 btByte(4)=&H68 btByte(5)=&H64 lngFN=FreeFile Open strPath For Binary As #lngFN Put #lngFN, btByte Close #lngFN
327 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 08:02:35.63 ID:krt5VVG+d.net] >>326 途中で送信しちまった。 スマホで書いてるからどっか間違ってるかも。 Dim btByte() As Byte Dim lngFN As Long Redim btByte(5) As Byte btByte(0)=&H4D btByte(1)=&H54 btByte(2)=&H68 btByte(3)=&H54 btByte(4)=&H68 btByte(5)=&H64 lngFN=FreeFile Open strPath For Binary As #lngFN Put #lngFN, , btByte Close #lngFN
328 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 08:09:09.54 ID:krt5VVG+d.net] >>314 というかね、Variantとは何か、Byteは何かとか考えた方が良い。 扱える範囲が違うということはメモリ上のサイズが違うということ。 6個のバイナリって6Byteのファイルってことだろ。 Variant1個で16Byteだぞ。
329 名前:301 (ワッチョイ 2301-6wWl) [2020/07/08(水) 09:06:02 ID:gPwSdoJG0.net] みなさんレスありがとうございます。 感謝します。 >>327 ってことは、結局、↓でよいのでしょうか? Sub test() Dim btByte() As Byte Dim lngFN As Long ReDim btByte(5) As Byte btByte(0) = &H4D btByte(1) = &H54 btByte(2) = &H68 btByte(3) = &H54 btByte(4) = &H68 btByte(5) = &H64 lngFN = FreeFile Open "C:\hogehoge.bin" For Binary As #lngFN Put #lngFN, , btByte Close #lngFN End Sub
330 名前:301 (ワッチョイ 2301-6wWl) [2020/07/08(水) 09:09:44 ID:gPwSdoJG0.net] あるいは、↓ですかね? ↑も↓も「Open "C:\hogehoge.bin" For Binary As #lngFN」の業でパス名が無効です、というエラーがでます。 Sub test() Dim btByte() As Byte Dim lngFN As Long ReDim btByte(5) As Byte btByte(0) = &H4D btByte(1) = &H54 btByte(2) = &H68 btByte(3) = &H54 btByte(4) = &H68 btByte(5) = &H64 lngFN = btByte Open "C:\hogehoge.bin" For Binary As #lngFN Put #lngFN, , btByte Close #lngFN End Sub
331 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 09:23:12.29 ID:yuZwXh1F0.net] >>330 >>307 > 基礎になるソースさえ教えてもらえれば、そこに色々付け加えてって自分に必要なバイナリファイルが作れるんですよ。 もういいやろ
332 名前:301 (ワッチョイ 2301-6wWl) [2020/07/08(水) 09:32:29 ID:gPwSdoJG0.net] つか、 FreeFile関数ってのがあるんですね 知らなかったw
333 名前:301 (ワッチョイ 2301-6wWl) [2020/07/08(水) 09:38:09 ID:gPwSdoJG0.net] じゃあ、↓のドコが悪いんだろ? Sub test() Dim btByte() As Byte Dim lngFN As Long ReDim btByte(5) As Byte btByte(0) = &H4D btByte(1) = &H54 btByte(2) = &H68 btByte(3) = &H54 btByte(4) = &H68 btByte(5) = &H64 lngFN = FreeFile Open "C:\hogehoge.bin" For Binary As #lngFN Put #lngFN, , btByte Close #lngFN End Sub
334 名前:デフォルトの名無しさん (ワッチョイ bdda-ucCN) mailto:sage [2020/07/08(水) 09:40:18 ID:R5JQxD1z0.net] >>332 つか、知らないことの方が多いくせに知ったかすんな
335 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 10:17:02.56 ID:67N0qsNYr.net] >>333 「どこが悪いんだろ」 ではなく、 「下記のソースで実行すると〜というエラーが出ます。 調べたところこのエラーの意味は〜と理解していますが、〜と修正したら今度は〜というエラーが出ます。〜〜」 と言ったように、自分でなんとか解決したいという姿勢がないとサポートなんてしたくならないよ 本当は誰も君の相手なんかしなくてもいいんだ 君は人の時間をいただこうとしてることを考えること
336 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 10:25:36.83 ID:kC98LgO60.net] みんなやさしいよね どこまでも相手してあげてるんだから
337 名前:デフォルトの名無しさん [2020/07/08(水) 10:37:36.28 ID:vI+4Hlt3M.net] ハゲてきました。 市販の育毛剤で試すとエラーが出ます。 調べたところミノキシジルタブレットが聞くと理解しましたが、それを買って飲んだら今度は心臓ドキドキの副作用がでて命が危険だそうです。 どうしたらいいでしょうか?
338 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 10:37:36.28 ID:yuZwXh1F0.net] 暇つぶしでしょ
339 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 10:38:40.26 ID:yuZwXh1F0.net] 時間丸被りとかあんのな
340 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 10:41:28.04 ID:Fq6DmaU+0.net] >>333 C:\に変なもの置くな
341 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 10:53:24.76 ID:Ywdztm8P0.net] つーか動的配列にする意味あんの?
342 名前:デフォルトの名無しさん [2020/07/08(水) 12:08:46.81 ID:lp5P2pBOM.net] >>341 行間を読め
343 名前:デフォルトの名無しさん [2020/07/08(水) 16:22:19.40 ID:0tPjVu1x0.net] だから最初に馬鹿はお断りしときゃいいんだよ
344 名前:301 [2020/07/08(水) 17:12:58.80 ID:gPwSdoJG0.net] つか、書き込み先を、D:\にしたら動いたwww >>327 さん、どうもありがとう!!! こんなシンプルなソースでバイナリが書けるんです。 どんなにググッてもこんなにシンプルなソースは出て来ません。 vba史上の快挙です! Sub test() Dim btByte() As Byte Dim lngFN As Long ReDim btByte(5) As Byte btByte(0) = &H4D btByte(1) = &H54 btByte(2) = &H68 btByte(3) = &H54 btByte(4) = &H68 btByte(5) = &H64 lngFN = FreeFile Open "D:\hogehoge.bin" For Binary As #lngFN Put #lngFN, , btByte Close #lngFN End Sub
345 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 17:43:43.08 ID:4BPfKF9s0.net] はい次の方
346 名前:301 [2020/07/08(水) 17:58:35.88 ID:gPwSdoJG0.net] >>341 midiファイルというのはサイズが決まってないんですよ
347 名前:デフォルトの名無しさん [2020/07/08(水) 19:59:20.87 ID:7XVFoSLh0.net] >>344 そりゃVBAではなく、VBですらなく BASICの範疇だからな 基本過ぎてわざわざWEBに上げたりしない
348 名前:デフォルトの名無しさん (ワッチョイ a5ae-7/eX) [2020/07/08(水) 20:31:33 ID:cTUxRwdY0.net] >>344 死ね
349 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 21:18:00.92 ID:J4iDAbFT0.net] いつも馬鹿な質問ばかりで済みません。 Excelファイルをダブルクリックした際に他の人が先に開いていた場合、[読み取り専用]か、[通知]か聞かれます。 これをダイアログを出さずに最初から読専で開くようにすることは可能でしょうか? (最初に開いた人は編集・保存できるという前提です) 外部から開く際のコントロールは簡単ですが、自分自身でコントロールするのは無理ですかね? Workbook_Openでいろいろ試したのですが、どうもこのイベントよりも先にダイアログが発生しているようで、、、 無理だ、という回答でもいいです。ご意見ください。
350 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 21:25:31.07 ID:eeGZOJTWa.net] >>349 https://www.shegolab.jp/entry/windows-excel-read-only
351 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 21:41:34.04 ID:eWJ0cHmK0.net] >>349 まずちゃんと自分で調べよう 知識が伴ってないのにろくに調べもしないでは自分で解決どころか調べ方すら身に付かない まぁ、はなから自分でやる気なんか無いのかもしれないが
352 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 21:42:45.60 ID:J4iDAbFT0.net] >>350 情報ありがとうございます。 リンク先のものはだいたい既知の情報でした。 やっぱり自ファイルでの処理は難しそうですね。
353 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 21:46:48.09 ID:J4iDAbFT0.net] >>351 いや、ここに書き込むときは相当調べて最後の頼みのつなで書き込んでます。 調べよう、と仰るということは、何かいい方法をご存じですか?
354 名前:蟻人間 mailto:sage [2020/07/08(水) 22:00:15.73 ID:wtc6YQgJ0.net] >>353 ファイルの関連付けを変えて、マクロで迂回して。。。 。。。ここまで来るとウイルス判定かも(詳しい内容は自粛します)
355 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 22:05:22.90 ID:J4iDAbFT0.net] >>354 う〜〜ん、あまり危ない橋は渡らないでおきます。
356 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 22:32:26.07 ID:R5JQxD1z0.net] >>353 調べ方を調べてから言え
357 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 23:26:10.17 ID:J4iDAbFT0.net] >>356 じゃあ、 >>349 の繰り返しになりますが、、箇条書きにしますね。 ●Excelファイルをダブルクリックした際の挙動についてです。 ** つまり、外部から開くケースは除外です。(こちらのコントロールに苦はありません。昔から使っています) 「外部から」とは、具体的には、、以下のケースなど。 ・ Workbooks.Openの引数で制御する。(VBSからのOpenも含む) ・ ContextMenuの"新規作成"で開く。 ●他の人が開いていた場合のケースです。 ** 最初に開いている人は編集・保存ができる前提です。 → つまり、FileAttributeを最初からReadOnlyにするケースは除外です。 ●上記の際の、[読専]|[通知]を聞いてくるDialogをバイパスしたい。 ** 「最初から読専で開きたいわけではなく、誰かが開いているときは最初から読専にしたい」 → つまり外部から開くケースにあたらない。 ● 自ファイル側で判定したい、、、Workbook_Openで試したが、このイベントより先に ダイアログが発生してる。 >>349 とほぼ同じ内容ですが、これだけ書けばどこまでの理解で何を試したか読み取れますか?
358 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 23:40:00.14 ID:4BPfKF9s0.net] てかそんなんできたらマルウェアの温床になるから出来ないって思っとけよ 共有化でも足りないんならあきらめろん
359 名前:デフォルトの名無しさん mailto:sage [2020/07/08(水) 23:44:27.92 ID:J4iDAbFT0.net] >>358 よくわかりませんが、わかりました。 本件Closeで。
360 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 00:12:21.12 ID:dz7PM5ALa.net] >>346 midiはファイルの種類じゃない
361 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 00:12:27.29 ID:ylhvfSy00.net] ファイルが書き込めない状態になってたら読み取り専用で開けばいいだけじゃん
362 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 00:13:47.48 ID:dz7PM5ALa.net] >>357 きもい
363 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 00:17:27.90 ID:dz7PM5ALa.net] 社会で他の人も使うファイル勝手にいじるなよ
364 名前:デフォルトの名無しさん (ワッチョイ cbdd-7n2a) mailto:sage [2020/07/09(木) 00:44:28 ID:HzjnRl+40.net] >>363 お前には聞いてないから大丈夫だよ。 じゃ、お休み。
365 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 02:16:40.71 ID:eQo6hEQpa.net] >>364 おまえに言ってない
366 名前:デフォルトの名無しさん (ワッチョイ a58b-GkYD) mailto:sage [2020/07/09(木) 03:10:18 ID:rHxVo6X00.net] IE制御のついての質問。 マクロでIE制御を使ってウェブ情報を取り込んでいるんですが、連続で作動させると稀に止まることがあります。 バグった時にタスクマネージャーの詳細をみると毎回「ielowutil.exe」のプロセスだけ残ってるんですよね。 タスクマネージャーでielowutil.exe を右クリックして強制終了させると、また上手く作動するんですが、この ielowutil.exe プロセスを強制的に終了させるコードとかないですかね。 ぐぐっても英語とか読めないのでわからない。誰か助けて https://www.mrexcel.com/board/threads/vba-automation-error-2125463506-8150002e.1079769/
367 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 03:59:15.57 ID:uBlORkna0.net] taskkill /im ielowutil.exe なんでもかんでもExcelでやろうとするな
368 名前:301 (ワッチョイ 2301-6wWl) [2020/07/09(木) 05:30:09 ID:C69oBRyL0.net] つか、>>344 のソースの > ReDim btByte(5) As Byte > btByte(0) = &H4D > btByte(1) = &H54 > btByte(2) = &H68 > btByte(3) = &H54 > btByte(4) = &H68 > btByte(5) = &H64 この部分で、btByteという変数に6個の16進数を代入していますが、もっとエレガントに代入する方法はないでしょうか? 実は定型文みたいのを50個ぐらい入れなきゃならないのです。
369 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 06:03:23.76 ID:hGjJ3XRlM.net] ないです 次の方どうぞ
370 名前:デフォルトの名無しさん (スプッッ Sd93-56/R) mailto:sage [2020/07/09(木) 06:34:39 ID:pd2EiZRKd.net] >>368 そういうのは、あらかじめ用意したバイナリファイルから読み込んだ方がいいと思うんだけど どうしてもソースに大量の16進数を直接書きたいなら 配列を使う方法 h = Array(&H4D, &H54, &H68, &H54, &H68, &H64) For i = 0 To 5 btByte = h(i) Next 文字列を使う方法 h = "4D,54,68,54,68,64" For i = 0 To 5 btByte(i) = Val("&H" & Mid(h, i * 3 + 1, 2)) Next
371 名前:301 (ワッチョイ 2301-6wWl) [2020/07/09(木) 06:37:41 ID:C69oBRyL0.net] >>370 ありがとうございます。 感謝します。
372 名前:デフォルトの名無しさん (スプッッ Sd93-56/R) mailto:sage [2020/07/09(木) 06:38:57 ID:pd2EiZRKd.net] 文字列を使う方法2 h = "4D,54,68,54,68,64" For i = 0 To 5 btByte(i) = Val("&H" & Split(h, ",")(i)) Next
373 名前:デフォルトの名無しさん (アウアウウー Sa09-X/TW) mailto:sage [2020/07/09(木) 06:57:38 ID:150ctWWia.net] エレガント?
374 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 07:48:49.30 ID:3iI6FAhKd.net] >>368 そのエレガントな方法を考えるのがプログラミングなんじゃないの? 50個をコードでどうにかするなら、それをコードに書かにゃならんからエレガントにはならん。 別の所に持って良いなら別途ファイルを用意しとけば良い。 設定とか50個程度ならどっかのシートに書いとくとかでも良い。
375 名前:デフォルトの名無しさん (オッペケ Sra1-OOGl) mailto:sage [2020/07/09(木) 07:58:21 ID:8/Q//t/ar.net] ほんとコードくれくれ君は自分で何も考えないな あげる方も頭おかしいが
376 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 10:13:45.21 ID:tVMvaFoW0.net] 激しく同意する ちなみにバイナリを作成するやり方で実行ファイルが作れるのでウイルシなんかも作れてしまうわけだが
377 名前:デフォルトの名無しさん (ワッチョイ cbb0-mXGD) mailto:sage [2020/07/09(木) 10:32:17 ID:VstlXiSO0.net] モジュールから単体動作する関数を切り取って、別のモジュールにコピーしたのですが 変数の宣言がないとエラー表示されました。何度見ても宣言は正しくされているので?です。 新しく変数宣言して、置き換えると動作します。 こんなことあるのですか?
378 名前:デフォルトの名無しさん (ワッチョイ 2d7c-6wWl) mailto:sage [2020/07/09(木) 10:47:12 ID:ylhvfSy00.net] >>377 変数?定数?
379 名前:デフォルトの名無しさん (ワッチョイ cbb0-mXGD) mailto:sage [2020/07/09(木) 10:48:52 ID:VstlXiSO0.net] すみません。変数ではなく定数(const)でした。
380 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 10:53:22.69 ID:ylhvfSy00.net] >>379 グローバルな定数?
381 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 11:12:09.02 ID:VstlXiSO0.net] ローカルです。
382 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 11:19:56.91 ID:JYozEgDc0.net] option explicitの有無は?
383 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 11:21:50.10 ID:DLLEuHaFa.net] >>376 みんなわざわざ煙に巻いてるのに言っちゃ
384 名前:デフォルトの名無しさん (ワッチョイ cbb0-mXGD) mailto:sage [2020/07/09(木) 11:26:19 ID:VstlXiSO0.net] >>382 option explicitはあります。
385 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 11:30:45.63 ID:ylhvfSy00.net] >>384 稀に起こるが原因は不明 エラーになった定数の宣言行を切り取り貼り付けすればとりあえず治る
386 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 12:02:59.73 ID:JYozEgDc0.net] コピペしたとき? 実行したとき?
387 名前:デフォルトの名無しさん (ワッチョイ cbb0-mXGD) mailto:sage [2020/07/09(木) 12:29:25 ID:VstlXiSO0.net] >>385 問題の行をコメントアウトし、その下に同様の内容を書いたら動作しました! 稀に起きるのですか。初めて遭遇する現象です。 >>386 実行時です。
388 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 14:14:55.78 ID:VstlXiSO0.net] >385>386 他の箇所でも同様のエラー起きましたが書き直せば動作しました。 ありがとうございました。
389 名前:デフォルトの名無しさん (ラクッペペ MMcb-0WwX) [2020/07/09(木) 18:37:42 ID:dhOVscThM.net] >>376 バイナリだからウイルスって意味不明 マクロウイルスはソースが見えるからウイルスじゃないとでも言うつもりか?
390 名前:デフォルトの名無しさん (ワッチョイ 1b68-ucCN) mailto:sage [2020/07/09(木) 18:40:33 ID:WyUmT5e70.net] >>389 その脳内変換が意味不明
391 名前:デフォルトの名無しさん (ラクッペペ MMcb-0WwX) [2020/07/09(木) 18:53:47 ID:dhOVscThM.net] バイナリに謎の恐怖心を持っているんだろ? そもそも2進数じゃなくて16進数だ
392 名前:デフォルトの名無しさん (ドコグロ MM93-65sm) mailto:sage [2020/07/09(木) 19:27:38 ID:0UE7wqUeM.net] まあイチからバイナリ書き出しで実行ファイ作れるような人はこんな質問しないけどな
393 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 19:41:37.34 ID:WyUmT5e70.net] >>391 その脳内変換が意味不明
394 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 19:50:25.19 ID:tq6y70T30.net] 元々の変な質問のせいでくだらない流れになった はい次の方
395 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 20:05:26.54 ID:SKtauNRXM.net] VBAに将来はありますか?
396 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 20:11:04.35 ID:F9SMopSBM.net] >>395 Excelと共に生き続けるだろうね Excelの将来と同じ
397 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 20:13:33.30 ID:K5359iyV0.net] そういえばExcelにPython載るって話はどうなったの?
398 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 20:29:37.44 ID:Qt+epPmk0.net] VBA https://docs.microsoft.com/ja-jp/office/vba/api/overview/ VSTO https://docs.microsoft.com/ja-jp/visualstudio/vsto/office-solutions-development-overview-vsto Officeアドイン https://docs.microsoft.com/ja-jp/office/dev/add-ins/overview/office-add-ins
399 名前:デフォルトの名無しさん (ワッチョイ 83ee-Bqa1) mailto:sage [2020/07/09(木) 21:13:12 ID:54FX1SKx0.net] Dim objShell As Object ←値参照 Dim objExec As Object Sub ie_kill() Set objShell = CreateObject("WScript.Shell") ←これなに???なんで必要なの??? Set objExec = objShell.Exec("taskkill.exe /F /IM iexplore.exe") ←iexplore.exeをタスクキル
400 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 21:27:01.41 ID:YMHQKg0aa.net] >>399 CreateObjectまんまオブジェクトを創造してます
401 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 21:31:09.68 ID:36OHf5x10.net] New使っちゃいなよ
402 名前:デフォルトの名無しさん mailto:sage [2020/07/09(木) 21:42:49.37 ID:ylhvfSy00.net] >>399 参照設定をしていればいらない
403 名前:デフォルトの名無しさん (ワッチョイ fdce-56/R) mailto:sage [2020/07/10(金) 10:20:58 ID:O0QgyOqq0.net] >>397 OfficeやWindowsは開発者が妄想を公式ブログで垂れ流すのが恒例行事 それを公式発表だと世間が勝手に騒いでるだけ
404 名前:デフォルトの名無しさん (ワッチョイ 83ee-Bqa1) mailto:sage [2020/07/10(金) 13:53:04 ID:3B5Gxm0d0.net] ExcelってIE制御からedge制御できるようになった? 未だにIEが一番使い勝手いいの?
405 名前:デフォルトの名無しさん (ワッチョイ 75f1-+b0N) [2020/07/10(金) 14:38:15 ID:91NkPSzZ0.net] ExcelってChrome制御できるようになった?
406 名前:デフォルトの名無しさん mailto:sage [2020/07/10(金) 15:03:43.58 ID:DnP9bxpW0.net] いまはExcelがブラウザを制御するのではなくてブラウザがExcelを制御する方向性が主流 VBAはあくまでExcel内で完結する作業に限定した言語であって外部との連携作業はOfficeアドイン(実体はJavaScriptなどのスクリプト言語)や VSTO(VisualStdioで言語はC#が中心)で行なうのがMicrosoftの方針 Pytonはよく分からんけど上手くOfficeAPIを利用すれば出来るかもしれない 概要についてのドキュメントは>>398
407 名前:デフォルトの名無しさん mailto:sage [2020/07/10(金) 15:20:21.38 ID:TbXdOMZ+r.net] てゆかブラウザ操作するよりAPI叩いたりスクレイピングするほうが主流よね、今は ずっと昔はExcelで入力してIEに反映させるとかあったけど、今じゃレガシーすぎる
408 名前:デフォルトの名無しさん mailto:sage [2020/07/10(金) 17:42:22.09 ID:OUgIsXw30.net] ウチはシステムが古くてAPIなんてものに対応してないので現役だわ。
409 名前:デフォルトの名無しさん mailto:sage [2020/07/10(金) 20:17:34.10 ID:R/wZjJlU0.net] 人間も古いからちょうどいい
410 名前:デフォルトの名無しさん (スップ Sd43-Cpkm) mailto:sage [2020/07/10(金) 21:41:25 ID:rd+FvU1jd.net] >>407 API叩くのもスクレイピングも変わらんけどな。 何でやるかの違いくらい。 まあ、Chrome制御は出来んけどな。 WebDriver使えるから出来るとも言えるか。 何処から何処迄がExcelって話。
411 名前:デフォルトの名無しさん (スップ Sd43-Cpkm) mailto:sage [2020/07/10(金) 21:42:22 ID:rd+FvU1jd.net] >>406 VSIOは寧ろ廃れてるような気がするが。
412 名前:デフォルトの名無しさん (スップ Sd43-Cpkm) mailto:sage [2020/07/10(金) 21:42:47 ID:rd+FvU1jd.net] >>411 VSTOな。
413 名前:デフォルトの名無しさん mailto:sage [2020/07/10(金) 22:02:00.46 ID:c4ANmjzxa.net] >>412 VIOな
414 名前:デフォルトの名無しさん [2020/07/10(金) 22:39:50.15 ID:91NkPSzZ0.net] >>413 それはちん毛ちんこケツの穴のことだ
415 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 00:41:33.92 ID:vLv3KjHj0.net] あかん、モーむり sendkeys使いすぎてるせいで Numlockキーがオンになったりオフになったり・・・ かと言って必ずオンオフ切り替わるかというとそうでもないし 誰か絶対100%常にNumlockオンになるコード教えてくれえ
416 名前:デフォルトの名無しさん [2020/07/11(土) 01:11:16.23 ID:2VuM3xocM.net] >>415 vbaでレジストリを操作できるから、そこに道があるかも知れない
417 名前:デフォルトの名無しさん (ワッチョイ 9bc9-ucCN) mailto:sage [2020/07/11(土) 02:13:29 ID:Eg2/WlgT0.net] >>415 2 つ以上の SendKeys ステートメントが連続して実行されると、NumLock キーがオフになる
418 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 02:29:45.71 ID:6j9f8L+G0.net] >>415 https://santane.jp/wp/?p=355
419 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 09:37:08.18 ID:vLv3KjHj0.net] ありがとうございます 418の方法も試したんですが、なぜか一回目では適用されず あと418の一番下にある、入力リストを展開するとは一体?
420 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 10:30:37.96 ID:R2Hyt8Cad.net] >>415 Sendkeys使う奴は糞。 絶対に使っちゃいけないと言った方が事故が起こらないくらい事故が起きても不思議じゃない所で使う奴がいる。
421 名前:デフォルトの名無しさん [2020/07/11(土) 10:36:45.99 ID:QNz3pRQ00.net] 糞!ですか
422 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 10:40:32.24 ID:VwbCqtVvM.net] 何年前からのバグなんだろうねこれって
423 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 10:45:18.55 ID:R2Hyt8Cad.net] >>421 Sendkeysは基本的にコントロール出来ない。 他アプリを操作するにはもっとコントロール出来る方法がある。 どうにも出来ない時は仕方がないが、絶対に使わないつもりで、どうにもならない時だけ使うべきだね。
424 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 10:51:22.16 ID:R2Hyt8Cad.net] あと、危険は承知でちょろっと使う時はある。 お手軽だから。 でも、それで使うことを許容すると危険もしらず、ちょろっとで済まない所で使う奴が出てくる。
425 名前:デフォルトの名無しさん (ワッチョイ bdda-ucCN) mailto:sage [2020/07/11(土) 11:53:42 ID:vrrLv2a80.net] Excelを頼りすぎ
426 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 11:59:27.85 ID:8xOOoQBua.net] Excelで恋愛相談から今晩のおかずまで
427 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 12:25:50.11 ID:DdDKJrYh0.net] sendkeysって手段としてしょうもなさすぎるんだよな 目的を整理すれば他にもっといいやり方があるはず
428 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 12:40:05.09 ID:pqxpyZgt0.net] キーワードによる予測変換機能っぽいのをやろうとしたときに、 いいコード無いか探してたら使ってたなsendkeys
429 名前:デフォルトの名無しさん (ワッチョイ 75f1-+b0N) [2020/07/11(土) 13:02:10 ID:QNz3pRQ00.net] 糞!
430 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 13:57:47.97 ID:6j9f8L+G0.net] 確実にコントロールしたいならAPI https://www.vba-ie.net/code/numlockon.php まあAPIも万能じゃないんだけど、今回はとりあえず使える
431 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 14:02:53.27 ID:R2Hyt8Cad.net] >>430 いやいや、確かにSendkeysよりは良いけど、何でキーボードシュミレートしたいのよ。 オブジェクトに直接キーを送るとか、オブジェクトの動作そのものを実現するとかは無しか?
432 名前:デフォルトの名無しさん mailto:sage [2020/07/11(土) 18:21:43.63 ID:2M7rjl8q0.net] 大抵のアプリは外部からの要求を受けるのはマウスとキーボードだけだから
433 名前:デフォルトの名無しさん [2020/07/11(土) 18:52:58.44 ID:6knL1xMy0.net] あ、ちょっと失礼。 ほんの少し前、テキストボックスに入力された数式をだったか マクロだったかをプロシージャにして実行するってなことをやってたんだが すっかり忘れてしまいました。 どうやるんでしたでしょうか。 OS;Windows 98 Excel 97
434 名前:デフォルトの名無しさん (ワッチョイ 05da-ucCN) mailto:sage [2020/07/11(土) 19:37:48 ID:Nux+IN340.net] >>418 そんな不具合見たことないな。 VBA限定で、VBSから使うと出ないとか?
435 名前:デフォルトの名無しさん [2020/07/11(土) 20:21:11.98 ID:UiWBFlGj0.net] >>433 死ね
436 名前:デフォルトの名無しさん (ワッチョイ bdda-ucCN) mailto:sage [2020/07/11(土) 23:15:56 ID:vrrLv2a80.net] >>433 そのうち思い出すから
437 名前:デフォルトの名無しさん mailto:sage [2020/07/12(日) 08:33:32.60 ID:lihdyx4V0.net] >>433 Application.Run
438 名前:デフォルトの名無しさん (オイコラミネオ MM51-aL1r) mailto:sage [2020/07/13(月) 14:37:54 ID:1lzMxcCPM.net] sendkeys問題解決しました ありがとう!create object wscript.shell.sendkeysでうまいこと行けた
439 名前:デフォルトの名無しさん [2020/07/14(火) 20:11:25.31 ID:zXCz2P4SM.net] 二つのieを起動して2つ目のieにpdfを表示させてそのpdfをexecwbのsaveasで名前をつけて保存したいのですが名前をつけて保存ダイアログに一つ目のieのファイルが保存項目として表示されてしまいます。どなたかわかる方教えてください。よろしくお願いします。 これがそのコードです getIE はシェル取得ファンクションです 長すぎると書き込めないので省略しました Set ie = CreateObject("InternetExplorer.Application") ie.Visible = True ie.navigate "book.impress.co.jp/appended3384/4-4.html" 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
440 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 02:33:14.34 ID:ZAnqbcST0.net] Excelでやることか?
441 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 04:42:17.63 ID:IqfNcqeZ0.net] >>439 5ch では、同じ質問のマルチポストは禁止です! もう1つのスレの方で、やってください!
442 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 05:05:59.66 ID:T7WU5W0H0.net] Set ws1 = Worksheets(1) Set ws2 = Worksheets(2) n = ws2.Cells(Rows.Count, "E").End(xlUp).Row n = n + 1 For i = 2 To ws1.Cells(Rows.Count, "A").End(xlUp).Row j = 1 ws2.Cells(n, 5).Value = ws1.Cells(i, j).Value n = n + 1 j = j + 1 ws2.Cells(n, 5).Value = ws1.Cells(i, j).Value n = n + 1 j = j + 1 ws2.Cells(n, 5).Value = ws1.Cells(i, j).Value n = n + 1 j = j + 1 ws2.Cells(n, 5).Value = ws1.Cells(i, j).Value n = n + 1 j = j + 1 ws2.Cells(n, 5).Value = ws1.Cells(i, j).Value n = n + 1 j = j + 1 これが10回ほど続くんですか簡潔にかけませんか?
443 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 05:28:08.89 ID:jQlbMrrka.net] え?VBAって二重ループ出来ないの? エクセルVBAの二重ループについて https://oshiete.goo.ne.jp/qa/7136635.html
444 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 07:31:51.88 ID:e63KSG0L0.net] 再計算をオフにしていても、VlookupとかIndex/Matchで参照されているセルを削除すると初回だけ滅茶苦茶重くなる 二回目からはアンドゥしようが削除しようが一瞬になる この初回も重くならないようにしたいんですけど、初回だけどこかで再計算か何かが裏で動いてるんでしょうか?
445 名前:デフォルトの名無しさん (ブーイモ MMa1-+2iy) mailto:sage [2020/07/15(水) 07:50:23 ID:XJ3hJcChM.net] プリンタに接続してるんじゃね?
446 名前:デフォルトの名無しさん (ワッチョイ fabc-3crd) mailto:sage [2020/07/15(水) 08:49:05 ID:vPDzR3td0.net] 記念パピコ
447 名前:デフォルトの名無しさん (アウアウエー Sa02-l+/r) [2020/07/15(水) 09:01:25 ID:yrzZGj8Ca.net] ちゅーちゅーちゅぶりらチュパカブラー
448 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 17:34:47.36 ID:vYR4+hKTa.net] テーブルの特定列に入力されている値から選択できるドロップダウンリストを作りたいです 【要望】 ・重複なし ・(できれば)空白は除く
449 名前:デフォルトの名無しさん [2020/07/15(水) 17:39:29.54 ID:yeW9Dlh/0.net] >>448 そうか 頑張れよ ここは日記お断りだぞ
450 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 17:39:30.37 ID:mQ5xmDA6a.net] >>444 キャッシュのなら場合そういう動作が正常
451 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 19:30:17.20 ID:FYD4rmMFM.net] >>448 これがゆとり世代だ
452 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 20:33:22.18 ID:1MtMgQ04F.net] 質問してるじゃん 俺は答えられないけど
453 名前:デフォルトの名無しさん [2020/07/15(水) 21:01:28.16 ID:XJthZBxP0.net] 「作りたいです」という決意表明だろ? そう言えば誰かが勝手に手助けしてくれると思ってるのかね。 あ、本人かよ。
454 名前:デフォルトの名無しさん [2020/07/15(水) 21:25:35.44 ID:sBHz+ETb0.net] 平成生まれと昭和生まれは少々使用する言語が違う。 同じように日本語とは言うけれど。
455 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 21:35:02.16 ID:8IhCO+GMM.net] ゆとり世代は誰かが助けてくれて当然と思っているからな
456 名前:デフォルトの名無しさん [2020/07/15(水) 21:38:36.33 ID:sBHz+ETb0.net] そこら辺は見た目の影響も大きいんだよな。 イケメンだったり可愛かったりすると、助けてもらえるのが当たり前で生きてる。 一方、ちょっと残念な感じだと、助けてもらえることが無く生きてる。 そこら辺の感じ方が違うのは当然なんだよね。
457 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 22:18:05.17 ID:onU8sBQ+a.net] 俺じゃない誰かが助けてくれるんじゃね
458 名前:デフォルトの名無しさん [2020/07/15(水) 22:44:18.56 ID:ovUS+LpM0.net] 覚えてものにしようと断固たる決意でマクロを完成させたけど 最初の方に組んだプロシージャを今見てもほとんど覚えてないわ メンテナンスだけはできるようにコメントつけてあるけど これがネットで拾い集めて基礎を学ばない相変わらずの俺のダメスタイル
459 名前:デフォルトの名無しさん mailto:sage [2020/07/15(水) 23:23:50.74 ID:xZi/KI4S0.net] コメント残してるだけだいぶマシ
460 名前:デフォルトの名無しさん [2020/07/16(木) 00:53:10.42 ID:9MD/+BL5M.net] 個数や最終行などよく使う変数名は今後の為に統一させたほうがいいな その時の気分でいろいろと変えると後で意味不明になる
461 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 02:52:22.64 ID:OfRWrGue0.net] 古いソースをコピペするからそうなる
462 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 09:14:27.30 ID:PzZafv3e0.net] そして統一後気が変わって全て置換か
463 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 09:39:51.11 ID:6lIeM5zt0.net] 何の変数かコメント付けるだけで十分では
464 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 11:51:40.64 ID:iXWxOn5X0.net] 同じフォルダ内の"取引実績"ブックの"関東地区"シートのA列・B列・C列・J列・L列・AD列の それぞれ2行目から最下行までを配列に入れる方法を教えてください Workbooks.Open ThisWorkbook.Path & "\取引実績", ReadOnly:=True i = Sheets("関東地区").Cells(Rows.Count,1).End(xlUp).Row ReDim SiresakiArray(i -1, 6) As Variant '代入するのはA,B,C,J,L,AD列のみ SiresakiArray() = Range("A2:?????? ActiveWindow.Close
465 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 12:20:55.35 ID:Bld7disAr.net] いらん列を消せば?
466 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 12:29:13.40 ID:GzNgEuWKM.net] みんなvbaどうやって勉強してるの? しっかり参考書とか買って、じっくり? ちなみに自分は>>458 に近いスタイル 必要に迫られたらネットで検索して、ちょっと弄ってって感じ だからいつまでたっても上達しない・・・
467 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 12:41:43.01 ID:Bld7disAr.net] 消したらrange("a2").resize(i,6)
468 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 12:45:12.35 ID:6lIeM5zt0.net] コピペするだけで身に付くわけがない… そのコードが何をしてるのか理解できるまで調べて自分で使っていれば自然に身に付く >>464 いらん列消すか、いる列の2行目から地道に入れる
469 名前:デフォルトの名無しさん [2020/07/16(木) 13:00:26.82 ID:jRyYUilTM.net] これできるようにしてくれない? これって自動でならない? 職場の糞どもの質問は完全に無視してる テメーの昼休憩にずっと触ってるスマホで調べりゃ出てくるだろ 話しかけんな
470 名前:デフォルトの名無しさん mailto:sage [2020/07/16(木) 13:38:13.07 ID:PzZafv3e0.net] その人が楽するためなら何もしないな あえて普段はどうやってるか聞いてみて嫌な顔一つしない感じならやる
471 名前:デフォルトの名無しさん [2020/07/16(木) 14:52:54.75 ID:2egBYvX50.net] >>464 Sub hoge1() Dim aa As Variant aa = Range("a1:c3,e1:f3") '結果:a1:c3までしか入らない。なるほどね。 End Sub Sub hoge2() i = Cells(Rows.Count, 1).End(xlUp).Row ReDim siresakiarray(i - 1, 6) As Variant retsu = Array("A", "B", "C", "J", "L", "AD") For iic = 0 To UBound(retsu) For iir = 2 To i siresakiarray(iir - 2, iic) = Cells(iir, retsu(iic)) Next Next ' Worksheets.Add Range("a1:m999") = siresakiarray End Sub 一つずつ入れるならザックリこんな感じのロジックで。 他の方法として新しいシートにシートコピーして列を消して配列に挿入の方が 効率いいのかも どうだろう
472 名前:デフォルトの名無しさん (ワッチョイ dab5-t9FD) mailto:sage [2020/07/17(金) 00:37:14 ID:27Ma2AbZ0.net] 少し組んで改善するとまぁ評価はされるんだけど 他の人後でメンテナンスできるよな? とか マクロが壊れる心配ないよな?とか テンプレートのように言われるけど知るかよ 読み取り専用で配布してるしプロシージャ弄れないようにしてあるし壊れねーっつーの パスワードかけてないマスター版も社内サーバーに置いてあるから いじりたきゃ学べや あと配布した途端楽になったらその業務ばっかりやろうとするおっさん見苦しくてむかつく 配って損したわ
473 名前:デフォルトの名無しさん mailto:sage [2020/07/17(金) 08:36:30.29 ID:KHrOLv580.net] あれ?ここ日記帳だっけ?
474 名前:デフォルトの名無しさん (ワッチョイ 7663-NRU3) mailto:sage [2020/07/17(金) 09:55:37 ID:q+bHJv+q0.net] みんなの日記帳だよ 君も自由に書き込んでいいよ
475 名前:464 (ワッチョイ 89cc-sTnA) mailto:sage [2020/07/17(金) 11:03:50 ID:lcXPd8bd0.net] >>465 ,468,471 ありがとうございます。列を削除して取り込みます。
476 名前:デフォルトの名無しさん mailto:sage [2020/07/17(金) 11:46:31.69 ID:lcXPd8bd0.net] 配列 ary(1,6)に年月日(2020/7/18)が入っていて、配列ary(1,7)には何らかの値が入っていることがあります ary(1,6)を20日締で起算して、ary2(1,1)に"20_7"のような文字列を返す式を教えてください。 またary(1,7)に値が入っていれば翌月にずれるようにしたいです ary(1,6)="2020/7/18" ary(1,7)= "" の場合ary2(1,1)="20_7" ary(1,6)="2020/7/21" ary(1,7)= "" の場合ary2(1,1)="20_8" ary(1,6)="2020/7/18" ary(1,7)= "値" の場合ary2(1,1)="20_8" ary(1,6)="2020/12/20" ary(1,7)= "1" の場合ary2(1,1)="21_1"
477 名前:デフォルトの名無しさん mailto:sage [2020/07/17(金) 12:02:43.77 ID:0sNlDakf0.net] 型はなんなの? くそコードでもいいからひとつずつ考えて作ってみたの?
478 名前:デフォルトの名無しさん mailto:sage [2020/07/17(金) 12:07:44.33 ID:NYWT4Zhl0.net] の場合、とか言ってるんならif使えばいいだけだろ アホなのか
479 名前:477 mailto:sage [2020/07/17(金) 12:46:43.52 ID:0sNlDakf0.net] 書いてみた 理解しなきゃ使えないと思うが https://i.imgur.com/3Ynd7KW.png https://i.imgur.com/5mFzai4.png
480 名前:476 mailto:sage [2020/07/17(金) 15:02:49.46 ID:lcXPd8bd0.net] >>479 完成しました。ありがとうございました dt = CDate(ary(1,6)) If Cint(Format(dt,"d")) > 20 Then '20日以降か dt = DateAdd("m",1,dt) End if '空欄でなければさらに1カ月繰り上げる If AfuriArray(cnt-1,26) <> "" Then Else dt = DateAdd("m",1,dt) End If ary(2,1) = Right(Format(dt, "yyyy"),2)&"_"& Format(dt,"m")
481 名前:デフォルトの名無しさん (ワッチョイ dab5-t9FD) mailto:sage [2020/07/17(金) 21:27:08 ID:27Ma2AbZ0.net] 来年の役員報告の課の改善発表の内容に 俺のマクロで作る事が既に組み込まれてるんだが そもそもそこまでスキルないし年上のもっと給料もらってる奴にやらせろやカスが
482 名前:デフォルトの名無しさん mailto:sage [2020/07/17(金) 23:08:06.59 ID:Bh4mGSGka.net] って言えばいいじゃん
483 名前:デフォルトの名無しさん mailto:sage [2020/07/18(土) 15:07:16.47 ID:aMbjCCwU0.net] 日本語環境でmiLANG_JAPANESEを指定してもbad languageのエラーが出るのは何故?
484 名前:デフォルトの名無しさん mailto:sage [2020/07/18(土) 16:11:19.98 ID:gXGI8VY40.net] 敗戦国だから
485 名前:デフォルトの名無しさん mailto:sage [2020/07/18(土) 18:26:41.44 ID:6ntZQZs40.net] sheet"s1"にFunctionで処理したary2を貼り付けたいのですが、処理前のary1が貼り付けられます Function後のary2を貼り付けるにはどうすればよいですか? Sub test() Dim endrow, r As Long endrow = Sheets("rui").Cells(Rows.Count, 1).End(xlUp).Row ReDim ary1(endrow - 1, 6) ary1() = Sheets("rui").Range("A2:F" & endrow).Value Sheets("sh1").Range("A2:F" & endrow) = ary2(ary1()) End Sub Function ary2(ary1() As Variant) As Variant() Dim en, r As Long en = UBound(ary1()) For r = 1 To en ary1(r, 1) = Application.Asc(ary1(r, 1)) ary1(r, 1) = StrConv(ary1(r, 1), vbUpperCase) ary1(r, 1) = Replace(ary1(r, 1), " ", "") Next r End Function
486 名前:デフォルトの名無しさん mailto:sage [2020/07/18(土) 19:22:36.82 ID:BZh66Ti/a.net] >>485 そりゃあ貴方、ary2は関数ですと自分で宣言してるもの。 しかもary1に代入してますやんかー プログラムは命令通りに動作してるだけじゃん。 ary2の配列を準備して処理してから そのary2の内容をシートに展開すようにプログラムしなきゃ
487 名前:485 mailto:sage [2020/07/18(土) 20:24:50.23 ID:6ntZQZs40.net] >>486 ありがとうございますFuntionの使い方を誤解していましたm(_ _)m
488 名前:デフォルトの名無しさん mailto:sage [2020/07/18(土) 22:33:50.97 ID:6aEbh+KL0.net] Function大魔王
489 名前:デフォルトの名無しさん [2020/07/18(土) 22:50:59.73 ID:GbMN9IfrM.net] >>485 Functionの配列渡しは少しややこしい まずは内容を単純化して正解の型を見つけた方がいいと思う
490 名前:デフォルトの名無しさん [2020/07/18(土) 23:52:10.32 ID:UVKbM6jvM.net] >>485 単純化した一つの正解の型 Sub test() Dim ary() As String ary() = fnc MsgBox ary(1) End Sub Function fnc() As String() Dim ary(1) As String ary(1) = "a" fnc = ary() End Function
491 名前:デフォルトの名無しさん mailto:sage [2020/07/19(日) 01:27:51.35 ID:YQjQ9IMi0.net] 配列の扱いや参照渡し以前の問題では・・・
492 名前:デフォルトの名無しさん [2020/07/19(日) 02:51:36.02 ID:b8b+mHAS0.net] 結局、馬鹿には無理なんだよ
493 名前:デフォルトの名無しさん mailto:sage [2020/07/19(日) 02:54:31.21 ID:MOwnlnDY0.net] joinして受け渡ししてsplitで復元がシンプルでわかりやすいんじゃね?
494 名前:デフォルトの名無しさん mailto:sage [2020/07/19(日) 06:42:33.41 ID:xggXZiaY0.net] もう企業ユーザーにはOffice Script解放されてるみたいですが試された方、使用感どんなもんですか?
495 名前:デフォルトの名無しさん mailto:sage [2020/07/19(日) 08:30:43.83 ID:du465xO70.net] 調査してる最中じゃねーの、あわてんな
496 名前:デフォルトの名無しさん mailto:sage [2020/07/19(日) 14:09:46.91 ID:4shkrYfWd.net] >>485 ary2の宣言部分は正しい。 でもary2の内部でary2はどうなったの? 何もしてないよね。 ary2の内部でary2はこうなりましたって書かないと宣言した時点の空の配列が返るのが当然。 つまりary2のFunctionの最後にary2=の文が必要。
497 名前:デフォルトの名無しさん mailto:sage [2020/07/19(日) 14:11:26.48 ID:4shkrYfWd.net] >>490 のfnc=any()の文が正にそれ。
498 名前:デフォルトの名無しさん mailto:sage [2020/07/20(月) 12:06:47.51 ID:Dkhdkwhma.net] excelなんだから配列はセルにいれときゃいいんじゃね
499 名前:デフォルトの名無しさん mailto:sage [2020/07/20(月) 18:29:09.95 ID:3yLiDe7EM.net] 速度気にしないなら
500 名前:デフォルトの名無しさん mailto:sage [2020/07/20(月) 23:22:10.32 ID:87nc/Vc+0.net] 全然気にしない
501 名前:デフォルトの名無しさん mailto:sage [2020/07/20(月) 23:52:01.41 ID:3H73W2vZ0.net] 配列は大量に入れるとメモリ不足になるのが嫌。 値以外のプロパティ持ってるセルの方がよっぽどメモリ喰うだろって思うけど、 仕様だから仕方がない。
502 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 07:20:28.10 ID:s4f7WPjJd.net] メモリ不足になるほど大量に入れることなんて殆ど無い。 不足するのは別の理由だと思うが。
503 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 10:31:44.78 ID:8QcWJiTk0.net] 10万行のCSVとか配列で処理したくなるけどメモリ不足になるんで仕方なくワークシートに入れてる
504 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 11:09:54.82 ID:GBbtTx0BM.net] VBAは過去のしがらみが多いので64bit Excelでも変な制限があってびっくりする 最近経験したのはユーザー定義型の中の配列サイズ Type T A(33000) As Integer End Type Sub S Dim X As T End ってやるだけで「動的なローカル変数が多すぎます」って言われる A(32000) As Integer なら問題ない
505 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 11:43:12.61 ID:uXgtcpNna.net] intの最大の32767だろうね
506 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 12:27:55.57 ID:Z8jTNyVcM.net] オフィススクリプト試したい… 個人ユーザーにも解放してくれ…
507 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 13:35:34.68 ID:420tjBmwd.net] csvを文字列形式のセルに取り込む時、値がない場合は""とemptyどっちにしておくべき?
508 名前:デフォルトの名無しさん [2020/07/21(火) 14:38:12.66 ID:zc+r4po80.net] office田中の人が顔出しでYoutubeはじめたらしいが おじいちゃんで偉そう。 実世界なら関わりたくないタイプ。
509 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 19:47:20.41 ID:g0ULgQg00.net] ネット上でも関わり合いになりたくないタイプだろ
510 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 21:24:07.75 ID:fmBf+klc0.net] 自分の参考になるとこだけ聞いときゃいいんじゃないの? その他アレコレ言うのはどうかと思うぞ
511 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 22:50:12.29 ID:nbzaQebba.net] >>503 1レコードずつシーケンシャルに処理できないの?
512 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 23:00:00.64 ID:q3mQwKOX0.net] 複数の同じ形式で入力されたブックをマージしたんですが、テキストを連結する場合に区切り文字を「|」にしました (「|」は入力時には使用していません) ファイルが3つ(A.xlsx,B.xlsx,C.xlsx)、それぞれのブックの値をa,b,c(テキストのみ、数値なし)、セルの値は 空白可だとすると、マージ後のあるセルの文字列は a|| a|b| a||c |b| |b|c ||c a|b|c ||| のいづれかになりますが、このうち左端及び右端の「|」は削除、連続する「|」は「|」ひとつに統合、すべて「|」の 場合はセルを空白にするにはどうすればいいでしょうか?余分なスペースを削るTrimのようなことを任意の文字でしたい、 という趣旨です。処理後は以下のようにしたいです a a|b a|c b b|c c a|b|c 空白のセル 一旦「|」をスペースに置換してTrim関数で余分なスペースを削ってから再度スペースを「|」に置換すればできるんですが、 もうちょっとスマートな方法があるのかなということと、意図して連続したスペースを入力していたらTrimで消えてしまうので そういった場合に備える意味も含めていい方法があれば教えてください
513 名前:デフォルトの名無しさん [2020/07/21(火) 23:08:39.79 ID:aJyp0F9S0.net] Excel2019です 外部CSVをpowerqueryで取り込んで整形したのちシートに貼り付けてあるテーブルがありまして、 ファイルを立ち上げる度にこのテーブルを自動で更新させるところまではできました。 この後、更新完了後に自動的にCSVファイルを保存、終了させようと考えているのですが 更新完了のイベントがどうもわかりません(見当たりません)。 アドバイスをいただけないでしょうか よろしくおねがいします。
514 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 23:15:37.99 ID:rncf75Mgd.net] >>513 スマートさは知らないが正規表現で置換するとか
515 名前:デフォルトの名無しさん mailto:sage [2020/07/21(火) 23:16:26.19 ID:rncf75Mgd.net] 間違えた >>512 宛
516 名前:デフォルトの名無しさん mailto:sage [2020/07/22(水) 01:35:45.12 ID:2/9nnKBr0.net] >>507 null 値は文字列型じゃなく、 型もない、または、null型だから、空文字列ではないと思う >>513 >このテーブルを自動で更新させるところまではできました この処理の後に、やりたい処理を書けば?
517 名前:デフォルトの名無しさん (ワッチョイ 8b63-UE+f) mailto:sage [2020/07/22(水) 02:45:59 ID:V5aeR2xw0.net] >>512 /^\|+|\|+$// /\|+/|/
518 名前:デフォルトの名無しさん [2020/07/22(水) 03:16:01.58 ID:hQWVf2dN0.net] >>517 v(^^)/~
519 名前:デフォルトの名無しさん mailto:sage [2020/07/22(水) 03:56:58.93 ID:F4KuFXOj0.net] >>511 ファイル操作はセル操作以上に重いからできるだけまとめた方が速くなる
520 名前:デフォルトの名無しさん mailto:sage [2020/07/22(水) 08:03:26.55 ID:eX+7X9u9a.net] >>519 そう?
521 名前:デフォルトの名無しさん (スッップ Sd33-Spa3) mailto:sage [2020/07/22(水) 08:33:57 ID:6gIpTQrUd.net] >>503 10万を一気に配列に入れるの? 5000行ぐらいずつで処理できんの?
522 名前:デフォルトの名無しさん mailto:sage [2020/07/22(水) 08:40:56.01 ID:6gIpTQrUd.net] >>512 1.連続する|を1つにする。 2.両端の|を消す。
523 名前:デフォルトの名無しさん [2020/07/22(水) 16:49:33.87 ID:aRPEdkhK0.net] ExcelWebAddinっていうのを使ってWebフォームの入力を自動化しようとしていますが、ラジオボタンにチェックを入れるにはどのようなコマンドを入力すれば良いのでしょうか?
524 名前:デフォルトの名無しさん mailto:sage [2020/07/22(水) 17:06:35.37 ID:F072B1Mr0.net] 1人だけマクロ作って超楽に終わらせてるのがバレたわ 改善提案で出して8000円賞やるから他の奴らにも配って共有化してくれと言われた まぁ仕方ない でもまぁマクロはこっそり作って自分で運用するに限るね 次にそういうのできたら発表で使ってくれだと
525 名前:デフォルトの名無しさん mailto:sage [2020/07/22(水) 17:17:55.78 ID:nFYyDION0.net] こっそり使わないと マクロ適用できないように仕変されるよ
526 名前:デフォルトの名無しさん mailto:sage [2020/07/22(水) 17:25:20.04 ID:F072B1Mr0.net] Excelを使った業務が95%くらいの職場だから問題ない 逆に使いにくいwordを俺が改善で駆逐していってたが今回のはみんなに配りたくなかったけどまぁ仕方ないか… 在宅の日なんて他の人が半日かかるのを5分だったのに…
527 名前:デフォルトの名無しさん mailto:sage [2020/07/22(水) 17:55:11.21 ID:vvOOySn70.net] >>524 そういうのさあ、共有してあげてもいいけど、共有すると知的障害の人が仕様の異なるものに適用して失敗して文句言ってくるのが目に見えてるんだよね だからといっていろんなケース想定してプログラミングするのはアホらしいし
528 名前:デフォルトの名無しさん mailto:sage [2020/07/22(水) 18:47:51.04 ID:urXipo8c0.net] むしろあえて自分用に最適化して「共通部分以外はできません」でもいい
529 名前:デフォルトの名無しさん mailto:sage [2020/07/22(水) 19:56:15.37 ID:nFYyDION0.net] いつのころからかマクロを忌み嫌い極限までVLOOKUPで済ませるようになった
530 名前:デフォルトの名無しさん mailto:sage [2020/07/22(水) 19:58:49.72 ID:ILXZvJ+B0.net] index/matchは使わないのw
531 名前:デフォルトの名無しさん [2020/07/22(水) 20:03:08.77 ID:SXXgaLVH0.net] オレオレ証明書でスムーズに使えるかと思ったら 証明書付けると逆に使えなくなったり 嫌がらせが半端じゃなかったしな 今では設定がどこにあるのかすら分からん
532 名前:デフォルトの名無しさん mailto:sage [2020/07/22(水) 21:55:35.93 ID:F4KuFXOj0.net] XPの頃はオレオレ証明書を作ってたけど、そういや今は作らなくても動いてるな 何がどう変わったのか把握してないわ
533 名前:デフォルトの名無しさん mailto:sage [2020/07/22(水) 22:08:08.79 ID:Fc7dRB3XM.net] 今ならxlookupがある。 あと関係ないけど、スプシのquery関数輸入してくんないかなぁ…あんなのに特許とか無いでしょ?
534 名前:デフォルトの名無しさん (ワッチョイ 8b63-fOmF) mailto:sage [2020/07/23(木) 02:13:32 ID:Iky/Pkwz0.net] あるだろう 使われてないけど
535 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 02:31:09.52 ID:KC5IdKq10.net] シートのコード名をマクロから変更することはできますか?
536 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 02:32:42.56 ID:vlSabEZu0.net] できるわけないだろ
537 名前:デフォルトの名無しさん (ワッチョイ 9909-RtpQ) mailto:sage [2020/07/23(木) 02:42:45 ID:KC5IdKq10.net] まじか!
538 名前:デフォルトの名無しさん (アウアウエー Sae3-UreN) mailto:sage [2020/07/23(木) 02:44:48 ID:hi69YBSQa.net] シートのコード名ってなんだ?
539 名前:デフォルトの名無しさん (ワッチョイ d1a2-K9d7) mailto:sage [2020/07/23(木) 02:46:02 ID:vlSabEZu0.net] プロシージャ名じゃね 知らんけど
540 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 02:50:40.32 ID:hi69YBSQa.net] 設定を変更する必要はあるけど、VBproject を編集できるかもね
541 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 03:09:52.56 ID:u9f9fzuBr.net] >>535 値取得のみ可 https://docs.microsoft.com/ja-jp/office/vba/api/excel.worksheet.codename
542 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 03:16:02.13 ID:togpUAVc0.net] >>526 もしかして長文資料もExcelで作っちゃう系? それはそれで絶対やめとけよ
543 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 03:21:02.63 ID:KC5IdKq10.net] >>541 やっぱり値取得だけなんですね。 ありがとうございました。
544 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 07:12:45.90 ID:i+261XKMd.net] >>543 何で変えたいの?
545 名前:デフォルトの名無しさん [2020/07/23(木) 07:16:32.96 ID:kdPZXO8Ra.net] 世の中が気に入らないから
546 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 07:23:13.06 ID:Rh3868Eja.net] 手入力でやれよ
547 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 07:35:31.90 ID:LqjC2Hh/0.net] sendkeyでなんとか
548 名前:デフォルトの名無しさん (ワッチョイ 4149-5TCi) mailto:sage [2020/07/23(木) 10:55:22 ID:zKEjLf2X0.net] >>517 ありがとうございます、休み明けに試してみます
549 名前:デフォルトの名無しさん [2020/07/23(木) 11:56:15.16 ID:5yzO6ql90.net] Android版のアウトルックが操作方法また変わって、開こうとしたら削除されて、しかも削除済みのフォルダにもない。 どうしたら良いんだこれ。 メール消えてもうた。
550 名前:デフォルトの名無しさん [2020/07/23(木) 11:58:48.40 ID:qQzwkkHta.net] >>549 スレチ
551 名前:デフォルトの名無しさん [2020/07/23(木) 11:59:14.78 ID:5yzO6ql90.net] ロードに1分以上かかるのに、一見、ロードされているように見せかけるのも、問題があるように感じる。 人によっては、本文の無いメールが来たと思う人もいるだろう。 一見して高速にロードされるように見せかけるのは大した技術なんだろうけど、それ、ユーザーを騙すってことだよね? 実際にはクライアント側にデータを保存していないんだから。
552 名前:デフォルトの名無しさん [2020/07/23(木) 12:02:50.60 ID:5yzO6ql90.net] 高速にロードされるように見せかけているがために、まだデータをダウンロードできていないことをユーザーに知らせることが出来ない。 通信中であることを示すマークを出すと、高速で無いことがバレてしまう。 ここに矛盾を抱えてる。
553 名前:デフォルトの名無しさん [2020/07/23(木) 12:12:38.03 ID:5yzO6ql90.net] しかもアウトルックドットコムはLinuxに慣れてる一般大衆からすると信じがたく重い。 サーバーからダウンロードしていることを隠すなら、高速なLinuxサーバーを使うべきでは?
554 名前:デフォルトの名無しさん [2020/07/23(木) 12:24:44.89 ID:5yzO6ql90.net] 先月まで開く動作だった左にスワイプが削除の動作に代わるって、とんでもない仕様変更だよ。
555 名前:デフォルトの名無しさん [2020/07/23(木) 12:26:28.82 ID:5yzO6ql90.net] しかも、本文がロードされる前の時間帯では、削除済みのフォルダに入らない。 さすがにこれは仕様というよりバグなんじゃないのかな?
556 名前:デフォルトの名無しさん [2020/07/23(木) 12:31:43.83 ID:iL/DIdMFM.net] officeTANAKAのおじいちゃんの動画見てる人いる?
557 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 13:19:56.66 ID:OedHhoi20.net] >>555 死ね
558 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 17:49:45.58 ID:XAOqwh8/0.net] >>556 WEBを流し見した方が早い 同じ内容なら動画は時間がもったいない
559 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 18:24:47.13 ID:otdPxTIka.net] おじいちゃんよりperfect human NAKATAなら見るけど
560 名前:デフォルトの名無しさん [2020/07/23(木) 19:47:21.57 ID:9f0mDEOaM.net] 中田のは世界史/日本史やってるときはよかったが 範囲を広げすぎて見てるほうも興味ないしやってるほうも専門じゃないからおもしろくない
561 名前:デフォルトの名無しさん [2020/07/23(木) 19:47:32.61 ID:XyxsyJax0.net] このスレは雑談スレで質問はVBAでもビジネスsoft板スレで聞いた方がいいのかな
562 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 20:23:47.73 ID:46il5rmY0.net] 課で全員が共有する色んなExcelのファイルがあるけど xls→たいがいマクロ組んでないからそのままマクロ組むこともある xlsm→作成者の作ったのを見て少しだけ弄ることはある xlsx→手を出さない
563 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 20:32:21.34 ID:jBwCrw170.net] subってプライベートにしないと何か良くないことあるんですか?
564 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 20:39:15.52 ID:FOonXAhZM.net] >>561 雑談してるスレ住人達の興味を引くような質問なら答えてくれるかもな あるいは答えることで承認要求が満たされそうな質問とかマウント取れそうな質問とか
565 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 20:40:34.07 ID:aUHqAsWY0.net] >>563 目障りだ。消えろ!
566 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 20:52:02.29 ID:i+261XKMd.net] >>563 プロシージャを沢山作るだろ。 その中にゃちょっとお試しのSub test1()なんてのが作られる。 で、同名のプロシージャとか作ると、色々問題が出る。 プライベートならモジュールが変われば問題無し。 そもそも、面倒くさいからわりと忘れがちだが、ちゃんとスコープや型を考えて作れない人のプログラムは出来も悪いことが多い。 バグも作りがちだね。
567 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 20:53:38.12 ID:LqjC2Hh/0.net] ちゃんとクラス作んないとな
568 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 21:08:16.92 ID:togpUAVc0.net] クラスとかよー分からん オブジェクト指向の言語やるといいのかな?
569 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 21:14:07.35 ID:vlSabEZu0.net] 作らなくても何とかなってきたんだろ、だったら要らないよ。 どうせクラスとかインテリセンスに項目追加するぐらいの効果しかないでしょ。
570 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 22:12:35.10 ID:Ybp1dMGc0.net] >>562 無能自慢はやめとけ
571 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 22:29:15.13 ID:lFUaLbQa0.net] 名前はクラスだけどやってることはほぼ構造体だしな
572 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 22:41:45.26 ID:bXbPEMrj0.net] イベントを持った動的に生成するフォームはクラスでやるしかないのでは と、思うのだが(´・ω・`)違ったらごめんね クラスなんか要らない構造体で十分って言ってる奴、知的好奇心足りなさすぎでは
573 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 23:49:06.55 ID:i+261XKMd.net] >>572 VBEにメニュー追加して、メニュー押した時のイベントにはクラスが必要だね。 VBAはクラス使わなくても組める言語だけど、時々クラスがピッタリ来る場合がある。 そういう場合はクラス使った方がメンテナンス性とか後々良いことがある。
574 名前:デフォルトの名無しさん mailto:sage [2020/07/23(木) 23:54:31.71 ID:w5Kgum7s0.net] ADOとかUIAutomationとか、長くなりそうなのは面倒だからクラス。
575 名前:デフォルトの名無しさん mailto:sage [2020/07/24(金) 07:38:12.69 ID:kDVWriuI0.net] クラスの意味はわかるけど使うメリットがようわからんな for eachで回せるくらいしか思い浮かばないんだが… javaチックに全部クラスで作るのもなんか違う気がするし
576 名前:デフォルトの名無しさん mailto:sage [2020/07/24(金) 08:16:46.34 ID:4h264/iA0.net] またVBAでクラスの話かよ… せめてClass_Initializeに引数持てたらな…
577 名前:デフォルトの名無しさん mailto:sage [2020/07/24(金) 08:56:19.08 ID:qHYHRNzt0.net] >>576 'Class_Initialize' イベントはサポートされなくなりました https://docs.microsoft.com/ja-jp/dotnet/visual-basic/misc/bc42001 オブジェクト指向プログラミング (Visual Basic) コンストラクター https://docs.microsoft.com/ja-jp/dotnet/visual-basic/programming-guide/concepts/object-oriented-programming#constructors
578 名前:デフォルトの名無しさん mailto:sage [2020/07/24(金) 09:00:02.69 ID:ASBY7bf4M.net] それVBAではなくて本家のVBの話だろ
579 名前:デフォルトの名無しさん mailto:sage [2020/07/24(金) 10:09:40.26 ID:4h264/iA0.net] >>577 ここまで頭悪い奴も珍しいなw https://i.imgur.com/xv7gdOM.jpg