ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part56
http://mevius.5ch.net/test/read.cgi/tech/1534976724/
探検
Excel VBA 質問スレ Part57
レス数が1000を超えています。これ以上書き込みはできません。
2018/09/10(月) 21:42:39.57ID:K1uuwFLt
2018/09/10(月) 22:24:34.33ID:IjRjzpeI
>>1乙
2018/09/10(月) 23:23:10.14ID:vQX+MQcw
このスレも相手の居ない淋しいプログラマの愚痴で埋まります
2018/09/11(火) 00:01:04.42ID:2R4DuIA+
「ここなら俺でもマウントとれるだろう」
と他所では負けっぱなしの奴らが集まってくる。
と他所では負けっぱなしの奴らが集まってくる。
2018/09/11(火) 01:02:29.42ID:lrKPSTD5
Excel VBAに関する疑問を抱いて訪れた人がVBAerの惨状を垣間見て、人生に関する疑問を得て帰る
ここはそんなスレ
ここはそんなスレ
2018/09/11(火) 01:05:42.43ID:FQ+eV6sL
Dictionaryのキーと要素の静的型情報がどうしても消えてしまうのですがバグでしょうか?
2018/09/11(火) 01:11:22.91ID:lrKPSTD5
>>6
消えるってどういうこと?
消えるってどういうこと?
8デフォルトの名無しさん
2018/09/11(火) 07:05:37.39ID:qCfc++eI >>6
仕様だと思う
仕様だと思う
9デフォルトの名無しさん
2018/09/11(火) 07:06:20.92ID:qCfc++eI System.Collection.Hashtableと使い分けるのがよろしいかと
2018/09/11(火) 08:08:45.45ID:U3vGX2sH
>>6
具体的にどういう現象?
具体的にどういう現象?
2018/09/12(水) 18:53:39.93ID:lLVFOIbw
バイトの1とイントの1を入れて見るとわかるよ
12デフォルトの名無しさん
2018/09/13(木) 06:42:08.49ID:MLrTlesq >>1
Z
Z
2018/09/13(木) 08:26:36.89ID:pD4xyyr1
2018/09/13(木) 12:39:09.37ID:2r3/pQLa
System.Collection配下のHashtable、ArrayListがVBAで使えるのは知ってる
2018/09/13(木) 18:10:13.06ID:FHzPesBg
どゆこと?
.NETランタイム仕込むの?
.NETランタイム仕込むの?
2018/09/13(木) 18:43:42.97ID:jnyPcCTa
2018/09/13(木) 20:27:53.66ID:pD4xyyr1
hashtableとdictionaryはあるけど、hashmapはなかった希ガス
18デフォルトの名無しさん
2018/09/13(木) 23:51:26.06ID:/ggcYMdi excel vbaって、変数を日本語で定義することができるんだな
感動した
感動した
2018/09/14(金) 07:14:29.85ID:2+njywcI
今時だとできない言語の方が珍しいかも
2018/09/14(金) 07:57:23.09ID:5PCa/oFv
配列多用してプログラ厶書いたけどコレvbaしか出来ない事務レベルのやつは内容分かるんだろうか
職場では似非プログラマの自分とその他しかいないのでメンテ出来なくなりそう
職場では似非プログラマの自分とその他しかいないのでメンテ出来なくなりそう
2018/09/14(金) 08:38:51.08ID:cxzTGReq
>>20
コメント入れまくるんだ
コメント入れまくるんだ
2018/09/14(金) 08:53:13.81ID:itNItVhP
コメント入れる前に整理してくれ
汚いコードのコメントは汚くて結局わかりにくいままになるぞ
汚いコードのコメントは汚くて結局わかりにくいままになるぞ
2018/09/14(金) 10:47:56.50ID:OPHSLG3r
>>20
主な操作対象が配列なのだったらむしろ分かりやすいのでは?
主な操作対象が配列なのだったらむしろ分かりやすいのでは?
2018/09/14(金) 12:16:51.56ID:LywiNQOe
VBAをやっとこさいじれます、っていう感じの人には配列の理解は厳しいぞ
配列のサブスクリプト、コレクションのインデックス、ハッシュテーブルのキーの相互の違いが分からなかったりするからな
配列のサブスクリプト、コレクションのインデックス、ハッシュテーブルのキーの相互の違いが分からなかったりするからな
2018/09/14(金) 12:18:52.11ID:JMy0VfN7
配列の解説書をコメントに書いとく。
具体例を豊富に。
具体例を豊富に。
2018/09/14(金) 15:48:14.90ID:OPHSLG3r
配列が難しいだろうか...
俺にはわからん
俺にはわからん
2018/09/14(金) 17:49:25.94ID:Rix9Ja+2
まぁなんでもそうだろうと思うけど、判る人間には判らない人間がなぜ判らないのかが判らない w
2018/09/14(金) 18:47:04.71ID:5PCa/oFv
いや配列は分かるのかもしれん
ただプロシージャさえ使わず変数名にaとかbとか付けてたりで数百行書いてるようなマクロが散見されるほどうちのレベルは低いからちょっと不安
ただプロシージャさえ使わず変数名にaとかbとか付けてたりで数百行書いてるようなマクロが散見されるほどうちのレベルは低いからちょっと不安
2018/09/14(金) 18:53:37.98ID:8jcNJm47
変数が分かるんなら配列も分かりそうだけど、そんなに難しいかな?
「配列っていうものもあるんだなー」程度でも認識さえしていれば、
むしろ配列しか使ってないコードならそのうち理解してくれそうな気がする。
途中でコレクションとか辞書とかヘンなオブジェクトとか自作クラスとか使ってなければ。タブン。
「配列っていうものもあるんだなー」程度でも認識さえしていれば、
むしろ配列しか使ってないコードならそのうち理解してくれそうな気がする。
途中でコレクションとか辞書とかヘンなオブジェクトとか自作クラスとか使ってなければ。タブン。
2018/09/14(金) 19:06:28.55ID:8jcNJm47
よく考えたら、コードの読みやすさは「何を使うか」より「どう書くか」の方が重要な気がする。
ともあれ、職場に何人かVBAが書ける人がいるようだから(非常に素晴らしいことに)、
適当に何人かひっ捕まえて使わせてみて率直な感想を言ってもらうといいんじゃなかろうか。
ともあれ、職場に何人かVBAが書ける人がいるようだから(非常に素晴らしいことに)、
適当に何人かひっ捕まえて使わせてみて率直な感想を言ってもらうといいんじゃなかろうか。
2018/09/14(金) 20:17:01.33ID:/DsKfDfg
Worksheet.CellsとかRange.Offsetとか、引数に二次元配列をとるアクセサを使えない人は結構いる印象だよな
32デフォルトの名無しさん
2018/09/14(金) 23:44:55.63ID:za5qG/O1 配列の難しさがわからんのは配列すらわかっとらん証拠やぞプロさん達w
33デフォルトの名無しさん
2018/09/14(金) 23:53:34.83ID:KNVYDbzH2018/09/14(金) 23:54:08.70ID:yt+m1AZF
ワークシートの配列の方が難しいよね
35デフォルトの名無しさん
2018/09/14(金) 23:56:00.89ID:za5qG/O12018/09/14(金) 23:59:40.89ID:KNVYDbzH
なるほど配列は易しいデータ構造ってことで
37デフォルトの名無しさん
2018/09/15(土) 00:26:05.12ID:XNrqFkTO excel vbaでテトリスとか作れるようになると、excel vbaを使いこなせられるようになったと思っていい?
38デフォルトの名無しさん
2018/09/15(土) 00:37:49.64ID:0OTUBrr2 >>37
いくない、Excelはゲーム作成用ツールじゃない
いくない、Excelはゲーム作成用ツールじゃない
2018/09/15(土) 07:26:48.93ID:OUVvcRON
2018/09/15(土) 14:47:18.53ID:kCggA2zW
テトリス作れるレベルならそこらへんの私VBA得意ですドヤよりスキル的に遥かに上だから、
VBAらしく事務処理の自動化をやるくらい楽勝だよ
VBAらしく事務処理の自動化をやるくらい楽勝だよ
2018/09/15(土) 14:58:06.40ID:FpfMU/ZL
テトリス作る時間に他の勉強をするべき。
そこまで求められてないから無駄。
そこまで求められてないから無駄。
2018/09/15(土) 16:22:43.79ID:MP3gARzS
>>37
字面だけでいえば、「Excel VBAでテトリスが作れるレベル」なら、「Excel VBAはそれなりに使いこなせる」と言える。
ただ、それを訊いて何をしようとしているのか分からない。内容次第ではおすすめしない。
字面だけでいえば、「Excel VBAでテトリスが作れるレベル」なら、「Excel VBAはそれなりに使いこなせる」と言える。
ただ、それを訊いて何をしようとしているのか分からない。内容次第ではおすすめしない。
43デフォルトの名無しさん
2018/09/15(土) 16:34:10.47ID:oLja5sKR VBAでテトリス作る意味って何?
2018/09/15(土) 16:36:20.47ID:RH+0S0Ax
それなりというか世の中の自称VBAのプロのほとんど全員より上だろう
それ以上の人はVBAできますなんて恥ずかしくて言わない
それ以上の人はVBAできますなんて恥ずかしくて言わない
2018/09/15(土) 16:54:50.81ID:g80wVNRI
エクセルVBAでテトリス作るのは芸ではあるけど実用的じゃない
どうせならエクセルで機械学習とか実務に使う余地があるものやれば
どうせならエクセルで機械学習とか実務に使う余地があるものやれば
2018/09/15(土) 16:55:58.42ID:g80wVNRI
プログラマはVBAできます
なんてわざわざ言わない
他言語ができればできて当たり前だから
なんてわざわざ言わない
他言語ができればできて当たり前だから
47デフォルトの名無しさん
2018/09/15(土) 19:14:56.89ID:XNrqFkTO >>43
vbaを使いこなせられるというか、これが作れるようになれば、この先いろんなツールをつくろうが、
応用がきくという意味で、テトリスという題材を選んでみた。
俺、間違ってることいってる?
vba使いこなせられるになる基準として、何かこういうの作ってみろ的なことがあればいってほしい。
vbaを使いこなせられるというか、これが作れるようになれば、この先いろんなツールをつくろうが、
応用がきくという意味で、テトリスという題材を選んでみた。
俺、間違ってることいってる?
vba使いこなせられるになる基準として、何かこういうの作ってみろ的なことがあればいってほしい。
2018/09/15(土) 19:25:00.03ID:vKLFrcGU
散らばった支社にプログラムを配るにしても、
完璧にシステム仕様が決まっていて、テストも十分終えたもの以外は、一つのExcelファイルに
プログラム
設定データ
蓄積データ
をまとめるのはやめとけって忠告したのに・・・。
プログラムのバグ修正のたびに、支社の端末を直接操作しているVBAマスターを自称する後輩が・・・。
土日ももう呼び出し呼び出し。完全に病んでしまった。
あれほど忠告したのに・・・。
安易な作りでデータ等々を抱えると、プログラムの修正だけしたくても、簡単にはいかないから、
せめて蓄積データだけは別のエクセルファイルなりに保存して開いて使うなりの仕様にしとけと・・・。
完璧にシステム仕様が決まっていて、テストも十分終えたもの以外は、一つのExcelファイルに
プログラム
設定データ
蓄積データ
をまとめるのはやめとけって忠告したのに・・・。
プログラムのバグ修正のたびに、支社の端末を直接操作しているVBAマスターを自称する後輩が・・・。
土日ももう呼び出し呼び出し。完全に病んでしまった。
あれほど忠告したのに・・・。
安易な作りでデータ等々を抱えると、プログラムの修正だけしたくても、簡単にはいかないから、
せめて蓄積データだけは別のエクセルファイルなりに保存して開いて使うなりの仕様にしとけと・・・。
2018/09/15(土) 19:56:51.35ID:JWnql4hZ
>>47
勘違いしてるようだが、テトリスはプログラミングの練習ネタとしてはかなり難しい部類だ
テトリスを自分で設計して作れたら、VBAを使いこなせるどころか世の中でVBAのプロを自称する連中の中でいきなり上位に入るレベル
それくらいVBAのプロのレベルは低い
つまり何が言いたいかっていうと、テトリスはやりすぎ
家計簿くらい作れたら十分面接でドヤっていいよ
勘違いしてるようだが、テトリスはプログラミングの練習ネタとしてはかなり難しい部類だ
テトリスを自分で設計して作れたら、VBAを使いこなせるどころか世の中でVBAのプロを自称する連中の中でいきなり上位に入るレベル
それくらいVBAのプロのレベルは低い
つまり何が言いたいかっていうと、テトリスはやりすぎ
家計簿くらい作れたら十分面接でドヤっていいよ
2018/09/15(土) 20:11:22.09ID:qQRjJW7l
2018/09/15(土) 20:13:33.91ID:kEjGAf/G
多数ユーザー向けにマクロを配布するならもうアドインにした方がいいよな
で、データの方はプログラムとのやりとりに支障が出ないようテーブル名、スキーマ、データフォーマットを固定したソースファイルに別途保存させる方がいい
で、データの方はプログラムとのやりとりに支障が出ないようテーブル名、スキーマ、データフォーマットを固定したソースファイルに別途保存させる方がいい
2018/09/15(土) 20:52:56.93ID:CRrc/VBu
アドインやCOMアドインのベンダーにインターンで行ったが、VBAどころか、C++でガリガリ開発するスーパープログラマが何人もいて、速攻で就職先から外したわ
2018/09/15(土) 21:12:36.41ID:kEjGAf/G
C++でガリガリ開発ってそんなに凄い?
54デフォルトの名無しさん
2018/09/15(土) 21:16:07.93ID:KIanXBkQ C++でガリガリ開発しててもなんとも思わない
VBやウンコスクリプトでガリガリ開発してるのは
サルがオナニーしてるようにみえる
もしくは奴隷が単調な動作を繰り返してるようにみえる
VBやウンコスクリプトでガリガリ開発してるのは
サルがオナニーしてるようにみえる
もしくは奴隷が単調な動作を繰り返してるようにみえる
2018/09/15(土) 21:19:37.63ID:CRrc/VBu
>>52
取っつきにくさでいうと、すでに子供の頃から馴染んでおかなければならないイメージ
俺みたいに遅蒔きで大学に入ってC++を初めてさわったレベルでは追い付けないな、と思った
きっかけは分析ツールみたいなアドインってどう作るのか知りたかったという位、その程度の熱意じゃ無理
取っつきにくさでいうと、すでに子供の頃から馴染んでおかなければならないイメージ
俺みたいに遅蒔きで大学に入ってC++を初めてさわったレベルでは追い付けないな、と思った
きっかけは分析ツールみたいなアドインってどう作るのか知りたかったという位、その程度の熱意じゃ無理
2018/09/15(土) 21:20:38.13ID:CRrc/VBu
間違った
>>53
>>53
2018/09/15(土) 21:52:32.87ID:wUMJLM3O
VBAのほうが文法、ライブラリ、コミュニティレベルがお粗末だから難しいかな
モダンC++は昔とくらべてびっくりするぐらい生産性高いからね
モダンC++は昔とくらべてびっくりするぐらい生産性高いからね
2018/09/15(土) 21:57:22.88ID:wUMJLM3O
59デフォルトの名無しさん
2018/09/15(土) 21:59:21.10ID:XNrqFkTO セル内に
"aiueo"
とか
≪aiueo≫
が格納されていたとして、
囲い文字だけを抽出するにはどうすればいいですか?
"aiueo"の場合は、全部半角なので、配列に代入して、配列の先頭と末尾を参照すればいいのだが、
≪aiueo≫の場合、全角・半角の区別がつかないので(どちらでもない?)、どうやればいいのか。
"aiueo"
とか
≪aiueo≫
が格納されていたとして、
囲い文字だけを抽出するにはどうすればいいですか?
"aiueo"の場合は、全部半角なので、配列に代入して、配列の先頭と末尾を参照すればいいのだが、
≪aiueo≫の場合、全角・半角の区別がつかないので(どちらでもない?)、どうやればいいのか。
2018/09/15(土) 22:10:32.77ID:JUwQwotH
61デフォルトの名無しさん
2018/09/15(土) 22:18:05.27ID:KIanXBkQ A B
1 "aiueo" =(LEFT(A1,1))&(RIGHT(A1, 1)) ⇒ ""
2 ≪aiueo≫ =(LEFT(A2,1))&(RIGHT(A2, 1)) ⇒ ≪≫
オレならVBAなんか使わずにこうする
1 "aiueo" =(LEFT(A1,1))&(RIGHT(A1, 1)) ⇒ ""
2 ≪aiueo≫ =(LEFT(A2,1))&(RIGHT(A2, 1)) ⇒ ≪≫
オレならVBAなんか使わずにこうする
62デフォルトの名無しさん
2018/09/15(土) 22:28:08.97ID:XNrqFkTO2018/09/15(土) 22:34:12.08ID:kEjGAf/G
>>59
正規表現使えば何とかなるよ
基本的には、aiueoが見つかった場合に見つかった文字列の開始位置と終端位置からそれぞれ一文字分外側にオフセットさせた文字列を取ればいい
"aiueo"のようにaiueoの中に2バイト文字が混在してる場合も抽出しなきゃならないような特殊な場合は文字列の範囲指定がちょっと面倒かもしれないが
正規表現使えば何とかなるよ
基本的には、aiueoが見つかった場合に見つかった文字列の開始位置と終端位置からそれぞれ一文字分外側にオフセットさせた文字列を取ればいい
"aiueo"のようにaiueoの中に2バイト文字が混在してる場合も抽出しなきゃならないような特殊な場合は文字列の範囲指定がちょっと面倒かもしれないが
64デフォルトの名無しさん
2018/09/15(土) 22:37:58.41ID:XNrqFkTO2018/09/15(土) 22:41:36.90ID:kEjGAf/G
>>62
囲い文字が特定できるならそれが正解
囲い文字が特定できるならそれが正解
2018/09/15(土) 22:46:04.69ID:JpPL0LlT
>>62
囲い文字以外を置き換えで消しちゃえばいいんじゃね
検索文字列は"[^\(\)\[\]\"\'「」『』《》]"みたいな感じで
最初の一文字と最後の一文字取るだけならもっとスマートに出来るけど囲い文字が無い場合は括弧以外を抽出しちゃうし
囲い文字以外を置き換えで消しちゃえばいいんじゃね
検索文字列は"[^\(\)\[\]\"\'「」『』《》]"みたいな感じで
最初の一文字と最後の一文字取るだけならもっとスマートに出来るけど囲い文字が無い場合は括弧以外を抽出しちゃうし
2018/09/15(土) 22:51:05.07ID:h6vRwHat
LENBなどB付き関数を使わない限り、半角全角は考える必要ないだろ?Excelは内部では全部Unicodeで扱ってる
2018/09/15(土) 23:14:10.61ID:VdLZkjGs
テトリスなんか複雑すぎて、VBA の奴に作れるわけないだろw
回転もあるし、壁にめり込んだり、
そもそも1秒に10回でも、描画できるか?
そんな性能あるか?
回転もあるし、壁にめり込んだり、
そもそも1秒に10回でも、描画できるか?
そんな性能あるか?
69デフォルトの名無しさん
2018/09/15(土) 23:15:54.34ID:8rxpHkWL 一秒に1回しか動かんのになんで10回も描画せなあかんねんw
2018/09/15(土) 23:18:58.10ID:h6vRwHat
回転は最低3回/秒位必要だろうし、落ち速度が速くならないテトリスじゃかたておちだろ
71デフォルトの名無しさん
2018/09/15(土) 23:35:07.83ID:XNrqFkTO >>62
>@事前に囲い文字を把握しておく
で、囲い文字があるかないか、事前に分類しておく
分類後、囲い文字があるものに対して、
vbaを使わずにleft、rightを使って抽出。
これで囲い文字の種類を全部押さえていることになる。
後は、コード内で正規表現(grep)使ってうまくやればなんとかなりそう。
>@事前に囲い文字を把握しておく
で、囲い文字があるかないか、事前に分類しておく
分類後、囲い文字があるものに対して、
vbaを使わずにleft、rightを使って抽出。
これで囲い文字の種類を全部押さえていることになる。
後は、コード内で正規表現(grep)使ってうまくやればなんとかなりそう。
72デフォルトの名無しさん
2018/09/16(日) 00:44:02.64ID:sPpLNVSR ちょっとよくわからんのだけど
"aiueo≫
とか
≪"aiueo"
とか
≪"aiueo≫ "
はエラーとして除外するの?
"aiueo≫
とか
≪"aiueo"
とか
≪"aiueo≫ "
はエラーとして除外するの?
73デフォルトの名無しさん
2018/09/16(日) 01:22:34.32ID:k7pdoQET >>72
エラーとして除外する。
エラーとして除外する。
2018/09/16(日) 02:44:47.45ID:BKY25fNA
2018/09/16(日) 02:48:34.41ID:BKY25fNA
2018/09/16(日) 02:51:31.52ID:BKY25fNA
2018/09/16(日) 07:54:39.60ID:GNhjMZyx
ゲーム作れるから事務処理作れるっていう発想が実務浅いんだろうな
2018/09/16(日) 09:28:10.74ID:e7XchwPX
VBAを使いこなしたいとは思っているようだけど、「事務処理に使う」とは言ってないのでは。
俺はそのままやってみたらいいと思ってる。Excel VBAでアニメーション作った動画とかもポロポロあるわけだし。
(https://twitter.com/excelprog/status/993022444221808640とか)
目標が分からないし、何をやりたいにせよ好奇心を止めることはできないし。
https://twitter.com/5chan_nel (5ch newer account)
俺はそのままやってみたらいいと思ってる。Excel VBAでアニメーション作った動画とかもポロポロあるわけだし。
(https://twitter.com/excelprog/status/993022444221808640とか)
目標が分からないし、何をやりたいにせよ好奇心を止めることはできないし。
https://twitter.com/5chan_nel (5ch newer account)
2018/09/16(日) 10:51:52.18ID:SnNXv25N
実用性で言ったら他の言語を使えばいいじゃんってなるから
こうやってVBAを使うことそのものを目的にして遊ぶのは悪くないと思う
こうやってVBAを使うことそのものを目的にして遊ぶのは悪くないと思う
2018/09/16(日) 11:32:42.62ID:gTaOdbFs
2018/09/16(日) 12:11:54.55ID:570fQ2zr
>>68
既に存在するけど、テトリス
既に存在するけど、テトリス
2018/09/16(日) 12:38:30.87ID:eHdm07t1
JavaのAPI仕様みたいな、VBAのプロパティやメソッドが一覧になってるサイトや書籍てありますか?
他人のソース読むとき、公式のやつが英語のみで辛いんです……
他人のソース読むとき、公式のやつが英語のみで辛いんです……
2018/09/16(日) 14:28:02.06ID:gTaOdbFs
>>47
ゲームを題材にするならRPGが最適じゃないかな
RPGならデータをこねくり回すしExcelVBAの勉強には良さそうだが
キャラや地図のデータをワークシートに保存して
VBAでそれにアクセスしながらゲームを進行させる感じで
ゲームを題材にするならRPGが最適じゃないかな
RPGならデータをこねくり回すしExcelVBAの勉強には良さそうだが
キャラや地図のデータをワークシートに保存して
VBAでそれにアクセスしながらゲームを進行させる感じで
2018/09/16(日) 18:44:46.22ID:krLSHvzW
VBAマリオだってあるんだし
作ろうと思えば、ある程度までは可能だろう
作ろうと思えば、ある程度までは可能だろう
2018/09/16(日) 20:14:07.75ID:BKY25fNA
そもそもVBAはアクションゲームに向かないんだよ
もう技術がある人がそれを承知で芸をやるのは良いけど
実用にしたいならビジネス用の題材を取った方が良い
もう技術がある人がそれを承知で芸をやるのは良いけど
実用にしたいならビジネス用の題材を取った方が良い
2018/09/16(日) 20:17:15.86ID:BKY25fNA
>>83
RRGはテトリスよりは題材としてマシだと思う
ドラクエみたいな普通のGUIのRPGを
エクセル方眼紙で再現するとかだと筋悪いけど
そうじゃなくてCUIのRPGで
アイテムとかデータ構造の構築と管理を中心に組めば
ビジネスにも応用が利くと思う
RRGはテトリスよりは題材としてマシだと思う
ドラクエみたいな普通のGUIのRPGを
エクセル方眼紙で再現するとかだと筋悪いけど
そうじゃなくてCUIのRPGで
アイテムとかデータ構造の構築と管理を中心に組めば
ビジネスにも応用が利くと思う
87デフォルトの名無しさん
2018/09/16(日) 21:26:15.56ID:k7pdoQET csvファイルがあって、これをexcelに読みおませると
表が崩れてしまう。
csvの中身
--
1,my name is taro
2,hello,world
--
excelに読み込ませると以下のように表が崩れてしまう。
A B C
1 1 my name is taro
2 2 hello world
期待値は、hello,worldをコンマ(,)で区切らず、B1セル内に格納したい。
まずvbaを使わずになんとかできない?
表が崩れてしまう。
csvの中身
--
1,my name is taro
2,hello,world
--
excelに読み込ませると以下のように表が崩れてしまう。
A B C
1 1 my name is taro
2 2 hello world
期待値は、hello,worldをコンマ(,)で区切らず、B1セル内に格納したい。
まずvbaを使わずになんとかできない?
88デフォルトの名無しさん
2018/09/16(日) 21:29:05.54ID:k7pdoQET >>83
確かにRPGのほうがワークシートの保存とかデータ構造の管理とか色々関わってくるのでテトリスよりは題材としてマシなレベルですね
確かにRPGのほうがワークシートの保存とかデータ構造の管理とか色々関わってくるのでテトリスよりは題材としてマシなレベルですね
89デフォルトの名無しさん
2018/09/16(日) 21:31:24.63ID:k7pdoQET 87ですが、vbaで加工しないといけない場合、どういった整形処理が考えられますか?
90デフォルトの名無しさん
2018/09/16(日) 21:31:41.83ID:sPpLNVSR >>87
CSVの意味わかってる?
CSVの意味わかってる?
2018/09/16(日) 21:33:00.45ID:e7XchwPX
92デフォルトの名無しさん
2018/09/16(日) 21:36:22.33ID:k7pdoQET93デフォルトの名無しさん
2018/09/16(日) 21:40:43.38ID:SOVIz+sV 逆だ
CSVはこうしたほうがいいというメモを
無視してるのはキミラ低学歴知恵遅れなワケ
カンマか改行かダブルクォーテーションが項目に含まれる場合
ダブルクォーテーションでくくるべきだ
さらにダブルクォーテーションが含まれる場合、
2個のダブルクォーテーションでエスケープするべきだ
https://tools.ietf.org/html/rfc4180
6. Fields containing line breaks (CRLF), double quotes, and commas
should be enclosed in double-quotes. For example:
"aaa","b CRLF
bb","ccc" CRLF
zzz,yyy,xxx
わかった?
CSVはこうしたほうがいいというメモを
無視してるのはキミラ低学歴知恵遅れなワケ
カンマか改行かダブルクォーテーションが項目に含まれる場合
ダブルクォーテーションでくくるべきだ
さらにダブルクォーテーションが含まれる場合、
2個のダブルクォーテーションでエスケープするべきだ
https://tools.ietf.org/html/rfc4180
6. Fields containing line breaks (CRLF), double quotes, and commas
should be enclosed in double-quotes. For example:
"aaa","b CRLF
bb","ccc" CRLF
zzz,yyy,xxx
わかった?
2018/09/16(日) 21:45:22.98ID:e7XchwPX
>>92
1,my name is taro
2,hello,world
↓
1,"my name is taro"
2,"hello,world"
※my name is taroは括られている必要はないが、統一した方が良い
1,my name is taro
2,hello,world
↓
1,"my name is taro"
2,"hello,world"
※my name is taroは括られている必要はないが、統一した方が良い
95デフォルトの名無しさん
2018/09/16(日) 21:45:42.24ID:sPpLNVSR96デフォルトの名無しさん
2018/09/16(日) 21:45:49.49ID:k7pdoQET >>93
つまり、CSVデータの仕様が悪いので、これ作った人になんとかしろというしかないか。
つまり、CSVデータの仕様が悪いので、これ作った人になんとかしろというしかないか。
2018/09/16(日) 21:48:00.44ID:e7XchwPX
>>96
カラム数が一定かつ「hello,world」なカラムが一つしかないなら、泥臭いやり方で直すことはできなくもない。
カラム数が一定かつ「hello,world」なカラムが一つしかないなら、泥臭いやり方で直すことはできなくもない。
2018/09/16(日) 21:52:12.15ID:T59P/aqG
99デフォルトの名無しさん
2018/09/16(日) 21:53:10.26ID:SHD7Rtu/ VBAでダメならPowerShellの出番だな
100デフォルトの名無しさん
2018/09/16(日) 21:54:27.21ID:SOVIz+sV 仕様はまったく悪くない
適切に読み込める
普通に矛盾なく読み込めるようになってる
ちゃんと読み込めないのは頭悪いから
自分が頭悪いのを棚にあげるのはよくない
A B C D E
AHO " hoge,huga boo CRLF foo CRLF woo BAKA
baka
↓
AHO,"""","hoge,huga","boo CRLF foo CRLF woo",BAKA crlf
baka
この形式で出力されてないデータはそもそもcsvじゃない
適切に読み込める
普通に矛盾なく読み込めるようになってる
ちゃんと読み込めないのは頭悪いから
自分が頭悪いのを棚にあげるのはよくない
A B C D E
AHO " hoge,huga boo CRLF foo CRLF woo BAKA
baka
↓
AHO,"""","hoge,huga","boo CRLF foo CRLF woo",BAKA crlf
baka
この形式で出力されてないデータはそもそもcsvじゃない
101デフォルトの名無しさん
2018/09/16(日) 21:55:20.90ID:k7pdoQET102デフォルトの名無しさん
2018/09/16(日) 22:08:17.61ID:e7XchwPX103デフォルトの名無しさん
2018/09/16(日) 22:16:05.95ID:e7XchwPX ああ、通常に考えるとまともに使えるCSVファイルではないので、
たぶん、CSVファイルを作成した後のことは何も考えないで作ったか、
あるいは特定のプログラム内でしか使わないことを想定したデータ(つまりCSVじゃない)かのどちらかだろうと思う。
もし前者なら、その仕様でCSVファイルを作成した(ツールを作成した)人には言っといた方がいい。
たぶん、CSVファイルを作成した後のことは何も考えないで作ったか、
あるいは特定のプログラム内でしか使わないことを想定したデータ(つまりCSVじゃない)かのどちらかだろうと思う。
もし前者なら、その仕様でCSVファイルを作成した(ツールを作成した)人には言っといた方がいい。
104デフォルトの名無しさん
2018/09/16(日) 22:24:51.91ID:SHD7Rtu/ >>101
読み込む前に整形すれば良い
PowerShellならワンライナー
cat test.csv | % {
$i = $_.IndexOf(",")
($_.Substring(0, $i), "`"$($_.Substring($i + 1, $_.Length - $i - 1))`"") -join ","
} | Out-File "dest.csv"
読み込む前に整形すれば良い
PowerShellならワンライナー
cat test.csv | % {
$i = $_.IndexOf(",")
($_.Substring(0, $i), "`"$($_.Substring($i + 1, $_.Length - $i - 1))`"") -join ","
} | Out-File "dest.csv"
105デフォルトの名無しさん
2018/09/16(日) 22:33:25.75ID:IXQKD+r/ カンマが嫌ならタブ区切りにする
どちらにしろ元データは要修正だよ
どちらにしろ元データは要修正だよ
106デフォルトの名無しさん
2018/09/16(日) 22:42:58.47ID:gTaOdbFs >>86
そうそうCUIベースのRPG
ワークシートごとにキャラデータやアイテムデータ、地図データなどを設定して
CUIで画面構成して進行する感じ
クエリワークシートなども用意して簡易データベース的に
データを利用してゲーム進行してやれば結構いい勉強になると思う
そうそうCUIベースのRPG
ワークシートごとにキャラデータやアイテムデータ、地図データなどを設定して
CUIで画面構成して進行する感じ
クエリワークシートなども用意して簡易データベース的に
データを利用してゲーム進行してやれば結構いい勉強になると思う
107デフォルトの名無しさん
2018/09/16(日) 22:44:29.60ID:bux1ZB5P tsv形式のcsvファイルに作り直した方が良いと思うわ
108デフォルトの名無しさん
2018/09/16(日) 22:45:20.56ID:mzkrOy05109デフォルトの名無しさん
2018/09/16(日) 22:48:48.42ID:+ao0anr7 >>104
そんなややこしい事しなくても
cat test.csv | %{ $i = $_ -split ',',2; "$($i[0]),""$($i[1])""" } > dest.txt
でいいでしょ
そんなややこしい事しなくても
cat test.csv | %{ $i = $_ -split ',',2; "$($i[0]),""$($i[1])""" } > dest.txt
でいいでしょ
110デフォルトの名無しさん
2018/09/16(日) 22:48:54.01ID:SHD7Rtu/111デフォルトの名無しさん
2018/09/16(日) 23:09:32.96ID:16Y59QgZ powershellが便利でVBAの出るまくなしってのはよくわかったけど
ここはVBAスレだからせっかくなのでVBAで解答を書いてみてよ
だいたい5行ぐらいでできるかな?
ここはVBAスレだからせっかくなのでVBAで解答を書いてみてよ
だいたい5行ぐらいでできるかな?
112デフォルトの名無しさん
2018/09/16(日) 23:10:09.34ID:k7pdoQET Inputがtxtなので、中身をみてコンマ(,)で区切られているので、CSVと勘違いしてしまったかもしれない
作った人に、CSVか確認してみます。
作った人に、CSVか確認してみます。
113デフォルトの名無しさん
2018/09/16(日) 23:27:45.95ID:EK9e0hMh CSV はカンマ区切りだから、列にカンマが入る可能性を考えて、各列を、" で囲む。
列内で、カンマを使いたい場合は、\ でカンマをエスケープする。\"
列内の文字列、a\"b
列、"a\"b"
それか、TSV。タブ区切りを使う。
ただし、これも列内にタブを使わないようにすべき
基本、システムを知らない人には、設計(SE)はできない!
こんなの誰でも知っている常識だからw
列内で、カンマを使いたい場合は、\ でカンマをエスケープする。\"
列内の文字列、a\"b
列、"a\"b"
それか、TSV。タブ区切りを使う。
ただし、これも列内にタブを使わないようにすべき
基本、システムを知らない人には、設計(SE)はできない!
こんなの誰でも知っている常識だからw
114デフォルトの名無しさん
2018/09/17(月) 00:05:45.07ID:dj7qSZnZ また低学歴知恵遅れがテキトーなこと書きこんでるわ。。。
115デフォルトの名無しさん
2018/09/17(月) 00:11:35.39ID:dj7qSZnZ 一般化すればこうなる
列のデリミタや行のデリミタ、もしくは引用符を含む場合
引用符で括る
引用符が含まれる場合、引用符は引用符の前に引用符を1つ記述する
csvの場合、
列のデリミタはカンマ
行のデリミタはCRLF
引用符はダブルクォート
になる
タブ区切りの場合、列のデリミタはHTになる
わかった?
列のデリミタや行のデリミタ、もしくは引用符を含む場合
引用符で括る
引用符が含まれる場合、引用符は引用符の前に引用符を1つ記述する
csvの場合、
列のデリミタはカンマ
行のデリミタはCRLF
引用符はダブルクォート
になる
タブ区切りの場合、列のデリミタはHTになる
わかった?
116デフォルトの名無しさん
2018/09/17(月) 00:22:08.36ID:27GPeyCI >>111
Dim fs, src, dest, line, i
Set fs = CreateObject("Scripting.FileSystemObject")
Set src = fs.OpenTextFile("test.csv", 1)
Set dest = fs.OpenTextFile("dest.csv", 2, True)
Do Until src.AtEndOfLine
line = src.ReadLine()
i = InStr(line, ",")
Call dest.WriteLine(Join(Array( _
Mid(line, 1, i - 1), _
"""" & Mid(line, i + 1, Len(line) - i) & """"), ","))
Loop
Call dest.Close()
Call src.Close()
Dim fs, src, dest, line, i
Set fs = CreateObject("Scripting.FileSystemObject")
Set src = fs.OpenTextFile("test.csv", 1)
Set dest = fs.OpenTextFile("dest.csv", 2, True)
Do Until src.AtEndOfLine
line = src.ReadLine()
i = InStr(line, ",")
Call dest.WriteLine(Join(Array( _
Mid(line, 1, i - 1), _
"""" & Mid(line, i + 1, Len(line) - i) & """"), ","))
Loop
Call dest.Close()
Call src.Close()
117デフォルトの名無しさん
2018/09/17(月) 00:26:30.19ID:27GPeyCI118デフォルトの名無しさん
2018/09/17(月) 00:36:24.95ID:dj7qSZnZ そんな低学歴知恵遅れマイルールは
低学歴知恵遅れのマイルールが通用するシステムでないと通用しない
低学歴知恵遅れのやりかたの別のファイル形式になる
低学歴知恵遅れのやりかたとcsvの形式は一切関係ないからな
なんで低学歴知恵遅れは
低学歴知恵遅れのマイルールを押しとうそうとすうんの?
低学歴知恵遅れの世界でしか通用しないのに
低学歴知恵遅れのマイルールが通用するシステムでないと通用しない
低学歴知恵遅れのやりかたの別のファイル形式になる
低学歴知恵遅れのやりかたとcsvの形式は一切関係ないからな
なんで低学歴知恵遅れは
低学歴知恵遅れのマイルールを押しとうそうとすうんの?
低学歴知恵遅れの世界でしか通用しないのに
119デフォルトの名無しさん
2018/09/17(月) 00:38:15.86ID:dj7qSZnZ この内容のExcelをcsvに出力する
A B C
aho boo"foo baka
aho boo"foo baka
普通に
aho.csv
aho,"boo""foo",baka
aho,"boo""foo",baka
と出力される
A B C
aho boo"foo baka
aho boo"foo baka
普通に
aho.csv
aho,"boo""foo",baka
aho,"boo""foo",baka
と出力される
120デフォルトの名無しさん
2018/09/17(月) 00:42:08.45ID:dj7qSZnZ こんな内容のaho1.csvをExcelにインポートする
aho,"boo\"foo",baka
aho,boo\"foo,baka
結果はこうなる
A B C
aho boo\foo" baka
aho boo\"foo=@baka
こんな内容のaho2.csvをExcelにインポートする
aho2.csv
aho,"boo""foo",baka
aho,"boo""foo",baka
結果はこうなる
A B C
aho boo"foo baka
aho boo"foo baka
当然
はっきりいってな
低学歴知恵遅れのマイルールなんかどうでもいいわけ
低学歴知恵遅れが出力するファイルはそもそもcsvじゃない
aho,"boo\"foo",baka
aho,boo\"foo,baka
結果はこうなる
A B C
aho boo\foo" baka
aho boo\"foo=@baka
こんな内容のaho2.csvをExcelにインポートする
aho2.csv
aho,"boo""foo",baka
aho,"boo""foo",baka
結果はこうなる
A B C
aho boo"foo baka
aho boo"foo baka
当然
はっきりいってな
低学歴知恵遅れのマイルールなんかどうでもいいわけ
低学歴知恵遅れが出力するファイルはそもそもcsvじゃない
121デフォルトの名無しさん
2018/09/17(月) 00:44:37.73ID:27GPeyCI122デフォルトの名無しさん
2018/09/17(月) 00:48:00.11ID:dj7qSZnZ https://tools.ietf.org/html/rfc4180
7. If double-quotes are used to enclose fields, then a double-quote
appearing inside a field must be escaped by preceding it with
another double quote. For example:
"aaa","b""bb","ccc"
RFCにもちゃんと書いてあるからな
excelでは読み込めない
コレはもう業界ではペケなワケ
もうデファクトスタンダードなワケ
それが分からないから
低学歴知恵遅れなワケ
7. If double-quotes are used to enclose fields, then a double-quote
appearing inside a field must be escaped by preceding it with
another double quote. For example:
"aaa","b""bb","ccc"
RFCにもちゃんと書いてあるからな
excelでは読み込めない
コレはもう業界ではペケなワケ
もうデファクトスタンダードなワケ
それが分からないから
低学歴知恵遅れなワケ
123デフォルトの名無しさん
2018/09/17(月) 00:55:43.10ID:27GPeyCI >>122
RFCができる前からCSVは存在してるよ
RFCとは違う仕様も存在するんよ
デファクトスタンダードはそれはそうだと思いますよ
規格として標準なわけではなく事実上の標準だから
"を\でエスケープするものがあってもおかしくないっすね
RFCができる前からCSVは存在してるよ
RFCとは違う仕様も存在するんよ
デファクトスタンダードはそれはそうだと思いますよ
規格として標準なわけではなく事実上の標準だから
"を\でエスケープするものがあってもおかしくないっすね
124デフォルトの名無しさん
2018/09/17(月) 00:56:49.34ID:27GPeyCI ""でエスケープしたらエクセルでインポートできるよってことを言いたいんですよね、わかりますよ
125デフォルトの名無しさん
2018/09/17(月) 00:59:23.34ID:TeavGsnR フォーマット微妙に変なのをExcelにインポートしたいってとこから話始まってるし
いくら世界がそうあるべきだと言ったって
現におかしなフォーマットのcsvが目の前にあったらどうにかしないといけない
半角君はどうするんだろう
いくら世界がそうあるべきだと言ったって
現におかしなフォーマットのcsvが目の前にあったらどうにかしないといけない
半角君はどうするんだろう
126デフォルトの名無しさん
2018/09/17(月) 01:04:33.71ID:dj7qSZnZ >>87のケースである場合、
どうしてもエクセルにインポートしてほしいという依頼がきたら
サクラエディタつかって正規表現使って最初のカンマの部分をタブに置換してコピペする
ファイルがクソでかいばあい、sedで正規表現使って最初のカンマの部分をタブに置換する
どうしてもエクセルにインポートしてほしいという依頼がきたら
サクラエディタつかって正規表現使って最初のカンマの部分をタブに置換してコピペする
ファイルがクソでかいばあい、sedで正規表現使って最初のカンマの部分をタブに置換する
127デフォルトの名無しさん
2018/09/17(月) 01:08:02.43ID:27GPeyCI サクラエディタもsedも使えない状況なら半角さんどうするんですか?
128デフォルトの名無しさん
2018/09/17(月) 01:09:43.54ID:dj7qSZnZ wshでjavascript使って編集する
129デフォルトの名無しさん
2018/09/17(月) 01:10:23.76ID:dj7qSZnZ sedが使えない = unixクローンは使えない
ということになるからな
ということになるからな
130デフォルトの名無しさん
2018/09/17(月) 01:11:33.13ID:27GPeyCI JScriptですか渋いっすね
131デフォルトの名無しさん
2018/09/17(月) 01:31:17.15ID:dj7qSZnZ wshならどんな古いくさった端末でも入ってるからな
個人情報の問題で、データを格納できる計算機が制限される、アタリマエだが
個人情報の問題で、データを格納できる計算機が制限される、アタリマエだが
132デフォルトの名無しさん
2018/09/17(月) 02:09:43.67ID:+OwpPL9I >>120
実際に出てきたcsvでやるしか無いんだから出来ない言い訳並べてもしょうがないでしょ
実際に出てきたcsvでやるしか無いんだから出来ない言い訳並べてもしょうがないでしょ
133デフォルトの名無しさん
2018/09/17(月) 02:40:44.60ID:DOsrYmK4 ある都合でVBAでプログラミングを学びたいんですが、おすすめの参考書やサイトありますか?
134デフォルトの名無しさん
2018/09/17(月) 03:00:28.28ID:dj7qSZnZ できない言い訳なんか書いてないからな
それはcsvじゃないといってるワケ
低学歴知恵遅れの世界で呼称されてるcsvは
低学歴知恵遅れの世界のcsv()といってるワケ
わかった?
それはcsvじゃないといってるワケ
低学歴知恵遅れの世界で呼称されてるcsvは
低学歴知恵遅れの世界のcsv()といってるワケ
わかった?
135デフォルトの名無しさん
2018/09/17(月) 03:01:56.29ID:dj7qSZnZ ホントな低学歴知恵遅れは
低学歴知恵遅れのマイルールを押し付けようとするから困るワケ
低学歴知恵遅れのマイルールを押し付けようとするから困るワケ
136デフォルトの名無しさん
2018/09/17(月) 03:29:18.86ID:KiXF7SKJ >>133
>VBAでプログラミングを学びたい
VBA「の」じゃなくてVBA「で」?
学びたいのはプログラミング自体?
それならVBAはGUIがついてて便利なので入門用言語には良いが
最終的にはVBA以外のプログラミング言語も習得した方が良い
というのはあくまでVBAのベースはBASICなので
VBAプロパーだとプログラミングの筋が悪くなる
>おすすめの参考書やサイト
まずは大きな書店に行って
PC関係の売り場で中身をパラパラめくって
分かりやすそうな入門書を一冊買って読もう
もちろん「VBA」で検索して出てきたサイトを見れば
金は掛からないが説明が微妙なところもあり不安が残る
>VBAでプログラミングを学びたい
VBA「の」じゃなくてVBA「で」?
学びたいのはプログラミング自体?
それならVBAはGUIがついてて便利なので入門用言語には良いが
最終的にはVBA以外のプログラミング言語も習得した方が良い
というのはあくまでVBAのベースはBASICなので
VBAプロパーだとプログラミングの筋が悪くなる
>おすすめの参考書やサイト
まずは大きな書店に行って
PC関係の売り場で中身をパラパラめくって
分かりやすそうな入門書を一冊買って読もう
もちろん「VBA」で検索して出てきたサイトを見れば
金は掛からないが説明が微妙なところもあり不安が残る
137デフォルトの名無しさん
2018/09/17(月) 03:42:24.53ID:O0m9WfJA CSV, TSV の仕様
delimiter : フィールド区切り。カンマ・タブが多い
quotechar : フィールドを囲む文字。" が多い
escapechar : フィールド内に、quotechar を含む場合に、その前に付けるエスケープ文字。
\ か、" が多い。
a\"b → "a\"b"
a""b → "a""b"
delimiter : フィールド区切り。カンマ・タブが多い
quotechar : フィールドを囲む文字。" が多い
escapechar : フィールド内に、quotechar を含む場合に、その前に付けるエスケープ文字。
\ か、" が多い。
a\"b → "a\"b"
a""b → "a""b"
138デフォルトの名無しさん
2018/09/17(月) 07:53:46.06ID:u5HISWee そんな50レスも引き延ばすようなネタか?(呆
139デフォルトの名無しさん
2018/09/17(月) 08:33:44.47ID:KWfY0Z4o VBAスレならこれぐらいの話題がちょいどいいレベルでしょう
140デフォルトの名無しさん
2018/09/17(月) 08:38:11.40ID:SBpxj18K 久々に食い付けるネタだったんだろ w
141デフォルトの名無しさん
2018/09/17(月) 08:59:01.79ID:x2+cUCF9 あるファイルを修正する前に、そのファイルを_bak.csvみたいに同じディレクトリにバックアップしたいんだけど、vbaからだとどうすればいい?
filesystemobjectとか使うの?
filesystemobjectとか使うの?
142デフォルトの名無しさん
2018/09/17(月) 09:02:08.97ID:dEktkUWz >>135
別にマイルール押しつけてるつもりはないよ。俺はプログラミング歴本当浅いし。
間違ってれば指摘して訂正すればいいだけの話じゃない?
それはさておき、なんだかんだで、答えてくれてるので、回答どうもw
別にマイルール押しつけてるつもりはないよ。俺はプログラミング歴本当浅いし。
間違ってれば指摘して訂正すればいいだけの話じゃない?
それはさておき、なんだかんだで、答えてくれてるので、回答どうもw
143デフォルトの名無しさん
2018/09/17(月) 09:40:45.98ID:u5HISWee144デフォルトの名無しさん
2018/09/17(月) 09:45:04.21ID:x2+cUCF9145デフォルトの名無しさん
2018/09/17(月) 15:03:24.49ID:Z7EfKxAW146デフォルトの名無しさん
2018/09/17(月) 19:47:37.68ID:3YPJfo/c どんなCSVでもテキスト処理すれば良いだろ。
Excelで開いて崩れるならそれは無理すじというもの。
見えるデリミタが既に嫌なので、見えない文字をデリミタに使ってCSVもどきとかにしてたこととかあったな。
Excelで開いて崩れるならそれは無理すじというもの。
見えるデリミタが既に嫌なので、見えない文字をデリミタに使ってCSVもどきとかにしてたこととかあったな。
147デフォルトの名無しさん
2018/09/17(月) 20:21:50.63ID:u5HISWee まだ引っ張るのかw
148デフォルトの名無しさん
2018/09/17(月) 20:25:15.40ID:pGKPj11G あんまり同じ話ばかりしてるとまた半角先生に低学歴知恵遅れって言われるぞ
149デフォルトの名無しさん
2018/09/17(月) 21:34:58.01ID:8X2LVp/6 「関数を使うかVBAを使うか」なんて文章を見てもにょらないのか?
150デフォルトの名無しさん
2018/09/17(月) 21:48:19.81ID:3YPJfo/c 普通に一般的じゃないCSVなんてごまんとあるだろ。
3270が吐き出したCSV(といっても結局プログラムが吐き出してるわけだけど)とか、固定長CSVとか。
カンマ区切り以外は何でもアリと考えるべき。
どうせ、どんな仕様でも対応できるだろ。
大した話じゃない。
基本的な話だがCSV開く時はOpenTextって話がまだ無いようだが、それでダメなら自前でどうとてもするだろ。
3270が吐き出したCSV(といっても結局プログラムが吐き出してるわけだけど)とか、固定長CSVとか。
カンマ区切り以外は何でもアリと考えるべき。
どうせ、どんな仕様でも対応できるだろ。
大した話じゃない。
基本的な話だがCSV開く時はOpenTextって話がまだ無いようだが、それでダメなら自前でどうとてもするだろ。
151デフォルトの名無しさん
2018/09/17(月) 21:50:33.98ID:3YPJfo/c >>141
開く前にファイルコピーでも何でも良いじゃん。
開く前にファイルコピーでも何でも良いじゃん。
152デフォルトの名無しさん
2018/09/17(月) 22:29:17.24ID:nCCekO+f https://qiita.com/areanoblog/items/095abe477fd04bbfc7c4
VBAからpowershell呼び出すのって↑こんなまわりくどいの?
powerhellの実行結果を一旦テキストファイルとかに出してそれをまたVBAで読み込むとか?
めんどくさ…('A`)
VBAからpowershell呼び出すのって↑こんなまわりくどいの?
powerhellの実行結果を一旦テキストファイルとかに出してそれをまたVBAで読み込むとか?
めんどくさ…('A`)
153デフォルトの名無しさん
2018/09/17(月) 22:31:24.18ID:w2PHbw/n 固定長CSVとか言うパワーワード
154デフォルトの名無しさん
2018/09/17(月) 22:52:13.82ID:nnZrg0Mh 固定長CSV笑った
でも世の中には実在するんだろうな
でも世の中には実在するんだろうな
155デフォルトの名無しさん
2018/09/17(月) 22:57:01.63ID:AYOVQ736 なになに?またプロさん知ったかぶりしとんの?
156デフォルトの名無しさん
2018/09/17(月) 23:15:23.57ID:pGKPj11G157デフォルトの名無しさん
2018/09/17(月) 23:30:51.51ID:O0m9WfJA Office は高い
Ruby で、VSCode の拡張機能の、Excel Viewer で十分
Ruby で、VSCode の拡張機能の、Excel Viewer で十分
158デフォルトの名無しさん
2018/09/18(火) 02:54:36.14ID:ziBnUm70 >>157
働いたこともないニートだったか
働いたこともないニートだったか
159デフォルトの名無しさん
2018/09/18(火) 04:01:32.86ID:e8HHTJEv160デフォルトの名無しさん
2018/09/18(火) 05:54:19.55ID:QjGqbTDe PSキチガイ、Rubyキチガイが登場したから、後はC#キチガイが出てくればいつもの通りの流れ
161デフォルトの名無しさん
2018/09/18(火) 05:56:46.48ID:KvvcKQiM まだマッチポンプやってるんかお前?
162デフォルトの名無しさん
2018/09/18(火) 06:07:52.72ID:RfbXDeCO 俺はC#の役も出来るから必要なら呼んでくれ
163デフォルトの名無しさん
2018/09/18(火) 07:32:33.78ID:cnS9oStk 表形式もWPFのほうが安全で楽で表現力高いと気付いてから俺の中でVBAの出番は完全になくなった
VBAの使い道を必死で探してるが見つからない
VBAの使い道を必死で探してるが見つからない
164デフォルトの名無しさん
2018/09/18(火) 08:05:31.56ID:RfbXDeCO WPFはデータとプログラムソースを完全分離出来るからな
VSさえ自由に使えるなら安全で良い
VSさえ自由に使えるなら安全で良い
165デフォルトの名無しさん
2018/09/18(火) 08:14:28.81ID:/U1cQ/02 働いたこともないニートだったか
166デフォルトの名無しさん
2018/09/18(火) 08:34:54.62ID:NAn2Eeof 自己紹介乙
167デフォルトの名無しさん
2018/09/18(火) 08:53:19.81ID:RfbXDeCO 働いたことがないニートなのはこのスレの参加条件だからニート歴の年数で勝負すべき
168デフォルトの名無しさん
2018/09/18(火) 09:11:00.17ID:6gy5jGhe >>163
言語として使いやすいから、とか
言語として使いやすいから、とか
169デフォルトの名無しさん
2018/09/18(火) 12:06:42.40ID:oc0rxGPX >>168
その皮肉はちょっとよくわからない
その皮肉はちょっとよくわからない
170デフォルトの名無しさん
2018/09/18(火) 12:13:47.72ID:PpRa0G4r 面白いギャグだね
171デフォルトの名無しさん
2018/09/18(火) 12:16:08.60ID:/U1cQ/02172デフォルトの名無しさん
2018/09/18(火) 12:22:42.63ID:Xx2CgWoL そもそもエクセルの使い方わからんプロさん達やし致し方ない
173デフォルトの名無しさん
2018/09/18(火) 12:34:01.22ID:PpRa0G4r >>171
そういうエクセルを使うことが目的になってる残念上司にはエクセルをエクスポートして渡しておけばいいよ
こっちはあくまで生産性上げるためにやってるわけだからね
もちろん色を変えることにビジネス上の合理性があるなら実装するがね
色を変えて遊びたいだけじゃ話にならん
そういうエクセルを使うことが目的になってる残念上司にはエクセルをエクスポートして渡しておけばいいよ
こっちはあくまで生産性上げるためにやってるわけだからね
もちろん色を変えることにビジネス上の合理性があるなら実装するがね
色を変えて遊びたいだけじゃ話にならん
174デフォルトの名無しさん
2018/09/18(火) 12:51:14.99ID:/U1cQ/02175デフォルトの名無しさん
2018/09/18(火) 13:59:55.38ID:oc0rxGPX 自分から具体的な事を言わずに相手の反応を待つ方法、
馬鹿が頭良く見せる時によくやるけどその内相手にされなくなるよ
馬鹿が頭良く見せる時によくやるけどその内相手にされなくなるよ
176デフォルトの名無しさん
2018/09/18(火) 15:33:00.72ID:6gy5jGhe >>169
?
?
177デフォルトの名無しさん
2018/09/18(火) 19:05:07.35ID:7cRL6s2e 初心者の典型的な勘違いだね
「なんでも出来る方が良いに決まってる」
でも、実際には逆なんだな
例えば標準エクセルの完全上位互換なら、すべてのセルの色を変えれることになるが
そうすると色を変えてほしくないセルまで変えてしまう人が現れる
色だけじゃなく、ありとあらゆる機能について似たようなことが言える
先人たちは失敗に学び、なんでも出来るツールよりも、僅かな仕事を上手くやるツールを組み合わせたほうが良い、という答えにたどり着いた
事務員のみんなは、学ぶべき先人が居ない環境でプログラミングを覚えてきた
だから、こういう基本的なことが身につかないままの人が多いんだ
「なんでも出来る方が良いに決まってる」
でも、実際には逆なんだな
例えば標準エクセルの完全上位互換なら、すべてのセルの色を変えれることになるが
そうすると色を変えてほしくないセルまで変えてしまう人が現れる
色だけじゃなく、ありとあらゆる機能について似たようなことが言える
先人たちは失敗に学び、なんでも出来るツールよりも、僅かな仕事を上手くやるツールを組み合わせたほうが良い、という答えにたどり着いた
事務員のみんなは、学ぶべき先人が居ない環境でプログラミングを覚えてきた
だから、こういう基本的なことが身につかないままの人が多いんだ
178デフォルトの名無しさん
2018/09/18(火) 19:09:22.99ID:/U1cQ/02 >>175
あれあれ?
「関数が使えない」を無視した上に、「完全上位互換でもない限り」の文意を読み取ろうともせずに「具体的なことを言わず」と相手を批判ですか?
何でも全て自分は悪くないですか。
そうですか。
あれあれ?
「関数が使えない」を無視した上に、「完全上位互換でもない限り」の文意を読み取ろうともせずに「具体的なことを言わず」と相手を批判ですか?
何でも全て自分は悪くないですか。
そうですか。
179デフォルトの名無しさん
2018/09/18(火) 19:10:47.69ID:/U1cQ/02180デフォルトの名無しさん
2018/09/18(火) 19:22:55.63ID:7cRL6s2e181デフォルトの名無しさん
2018/09/18(火) 20:11:57.47ID:WcZLZMlj セル内の文字列をコピーする際、セルごとコピーしようとしたら、余計な情報までコピーするからやめろといわれた。本当ですか?
182デフォルトの名無しさん
2018/09/18(火) 20:14:47.13ID:uHQ14XDu >>181
コピペのやり方とどこに貼り付けるか次第かなー
コピペのやり方とどこに貼り付けるか次第かなー
183デフォルトの名無しさん
2018/09/18(火) 20:38:53.34ID:dgXQ4G2s184デフォルトの名無しさん
2018/09/18(火) 21:38:06.78ID:NAn2Eeof 書式貼付けとか出来るようになったのは嬉しいけど罫線そのままフォントとか背景色をコピーとかしたいわ
要望に限りはないな…
要望に限りはないな…
185デフォルトの名無しさん
2018/09/18(火) 22:18:22.89ID:J2IpRlny >>184
コピー元のセルとコピー先のセルをそれぞれRange型変数に格納して、あとはコピー元の任意のプロパティの定数値をコピー先のプロパティの値としてそのまま代入するだけ
コピー元のセルとコピー先のセルをそれぞれRange型変数に格納して、あとはコピー元の任意のプロパティの定数値をコピー先のプロパティの値としてそのまま代入するだけ
186デフォルトの名無しさん
2018/09/18(火) 22:25:10.68ID:dgXQ4G2s >>184
罫線だけ貼り付けあるで
罫線だけ貼り付けあるで
187デフォルトの名無しさん
2018/09/18(火) 23:02:58.12ID:/U1cQ/02188デフォルトの名無しさん
2018/09/18(火) 23:05:19.45ID:oE0uJFU6 なんかVBAできる程度でイキってる低学歴知恵遅れがいるのか
189デフォルトの名無しさん
2018/09/18(火) 23:12:46.57ID:/U1cQ/02 独りよがりの二―トならいるが。
190デフォルトの名無しさん
2018/09/18(火) 23:19:04.19ID:3Z5SLW4f vba出来なくてイキられとるプロさん達w
191デフォルトの名無しさん
2018/09/18(火) 23:32:08.88ID:dgXQ4G2s >>188
そりゃ事務作業がほぼ0になるんだからイキってもいいよ
そりゃ事務作業がほぼ0になるんだからイキってもいいよ
192デフォルトの名無しさん
2018/09/18(火) 23:57:53.79ID:J2IpRlny VBAは作ってからが本当の地獄だぞ
193デフォルトの名無しさん
2018/09/19(水) 06:01:57.35ID:S2C8yCMr おっと野田工房さんの悪口はそこまでだ
https://qiita.com/nodakoubou/items/1c92d33855cfd09ccc57
https://qiita.com/nodakoubou/items/1c92d33855cfd09ccc57
194デフォルトの名無しさん
2018/09/19(水) 06:47:53.78ID:wCu+CcEF office.tanakaのコードには俺も前から疑問持ってた。vbaにクソコードが多い原因とまで言っちゃうのはちょっと言過ぎだが。
vbaの場合、入門書にロクなのが無いってのが大きいと思う。
vbaの場合、入門書にロクなのが無いってのが大きいと思う。
195デフォルトの名無しさん
2018/09/19(水) 08:11:46.01ID:3pMh17++ 少なくともオブジェクトが解放されてないとか文句言ってるのは別言語に移行すれば解決するな
196デフォルトの名無しさん
2018/09/19(水) 08:16:58.74ID:Q3mSx79m 他人のせいにしちゃいかんな
モダンな文法や機能の導入
Excel.Applicationのインターフェース改善
洗練されたIDEの導入
これらを怠った結果でしょう
特にIDEの影響が大きいと見たね
インテリセンス、サジェスチョン、ワーニング、リファクタリングツールが充実してると大分変わる
モダンな文法や機能の導入
Excel.Applicationのインターフェース改善
洗練されたIDEの導入
これらを怠った結果でしょう
特にIDEの影響が大きいと見たね
インテリセンス、サジェスチョン、ワーニング、リファクタリングツールが充実してると大分変わる
197デフォルトの名無しさん
2018/09/19(水) 08:27:16.54ID:qT/e110f すくなくともVBEは変えるよな
素人マクロじゃなくて業務開発ならば
素人マクロじゃなくて業務開発ならば
198デフォルトの名無しさん
2018/09/19(水) 08:30:56.76ID:LVCMaoiR >>163
それでもスレに来るのは何なの
それでもスレに来るのは何なの
199デフォルトの名無しさん
2018/09/19(水) 09:05:12.30ID:eB9Wvzp/ >>198
とにかくVBAをけなして自分のチンケなプライドを満足させたい、その一点のみ w
とにかくVBAをけなして自分のチンケなプライドを満足させたい、その一点のみ w
200デフォルトの名無しさん
2018/09/19(水) 09:07:56.31ID:hRx0sgGQ 啓蒙してユーザー需要を減らせれば、皆がハッピーになると信じている…のかも
201デフォルトの名無しさん
2018/09/19(水) 11:59:42.56ID:9eFLiOtU 暇つぶしの問題
あるセルとその下のセルに数値データが入っている
この2つのセルの中身を他のセルを使わずに入れ替えてください
あるセルとその下のセルに数値データが入っている
この2つのセルの中身を他のセルを使わずに入れ替えてください
202デフォルトの名無しさん
2018/09/19(水) 12:11:03.24ID:3D7E1PKU ○○では××できない!糞!って騒ぎ立てることで
いや○○でもこうすれば××できるんやでという回答を引き出すメソッドや
いや○○でもこうすれば××できるんやでという回答を引き出すメソッドや
203デフォルトの名無しさん
2018/09/19(水) 12:13:54.07ID:3D7E1PKU なおVBAの場合ほんとにできないのであまり効果的でない模様
204デフォルトの名無しさん
2018/09/19(水) 12:39:07.72ID:f2RidzcJ >>201
Dim Rng_Target As Range
Dim Val_Target As Long
Set Rng_Target = 目的のセルを取得するexpression
Val_Target = Rng_Target.Value
Rng_Target.Value = Rng_Target.Offset(1, 0).Value
Rng_Target.Offset(1, 0).Value = Val_Target
Dim Rng_Target As Range
Dim Val_Target As Long
Set Rng_Target = 目的のセルを取得するexpression
Val_Target = Rng_Target.Value
Rng_Target.Value = Rng_Target.Offset(1, 0).Value
Rng_Target.Offset(1, 0).Value = Val_Target
205デフォルトの名無しさん
2018/09/19(水) 18:17:37.52ID:r5xYEE0l If Not RangeA Like RangeB then
RangeA = RangeA Xor RangeB
RangeB = RangeA Xor RangeB
RangeA = RangeA Xor RangeB
End If
RangeA = RangeA Xor RangeB
RangeB = RangeA Xor RangeB
RangeA = RangeA Xor RangeB
End If
206デフォルトの名無しさん
2018/09/19(水) 18:40:15.75ID:AVetNhWj xor交換て数値型全部に使えるんだっけ
207デフォルトの名無しさん
2018/09/19(水) 18:41:10.33ID:5nElZyy0208デフォルトの名無しさん
2018/09/19(水) 18:52:28.00ID:0/ft7j2l209デフォルトの名無しさん
2018/09/19(水) 18:58:31.13ID:5nElZyy0210デフォルトの名無しさん
2018/09/19(水) 19:21:40.70ID:0/ft7j2l211デフォルトの名無しさん
2018/09/19(水) 23:25:17.18ID:J1A7PsDE プロも実はエクセル使えないの悔しいんやなwプロさんのくせにw
212デフォルトの名無しさん
2018/09/19(水) 23:28:02.58ID:xLP4ypV2 プロはセルで関数つかっても
vbaはつかわない
vbaはつかわない
213デフォルトの名無しさん
2018/09/19(水) 23:34:32.23ID:f2RidzcJ ワークシートでユーザー定義関数使いたいときはVBA使う
214デフォルトの名無しさん
2018/09/19(水) 23:47:39.17ID:3pMh17++ >>193
なんやかんや言いつつ文句の対象がVBAだけなの草
なんやかんや言いつつ文句の対象がVBAだけなの草
215デフォルトの名無しさん
2018/09/20(木) 00:20:27.12ID:EYF8wRp8 頭の悪い人がVBA覚えると数式でも工夫すればできることもVBAでやろうとするよね
VBAは所詮「実行できる操作手順」だから、慣れてしまえば頭が弱くても分かりやすい
数式の方が論理的な思考が必要で突き詰めれば難しい
VBAは所詮「実行できる操作手順」だから、慣れてしまえば頭が弱くても分かりやすい
数式の方が論理的な思考が必要で突き詰めれば難しい
216デフォルトの名無しさん
2018/09/20(木) 00:23:10.21ID:5+Hsdig+ ハイハイ偉い偉い
217デフォルトの名無しさん
2018/09/20(木) 00:37:45.52ID:grTR8BoD まるでVBAで数式を表現できないみたいじゃないか
変なこというヤツだな
変なこというヤツだな
218デフォルトの名無しさん
2018/09/20(木) 00:41:53.76ID:zLqp8E23 むしろ数式の途中結果を使いながら何列もつかって最終結果にたどりつく
途中で確認するからな
複雑な数式を一行やろうとなんか考えない
途中で確認するからな
複雑な数式を一行やろうとなんか考えない
219デフォルトの名無しさん
2018/09/20(木) 01:26:44.94ID:SZObeV+C 語彙力、たぶん関数って書きたかったんだろ
220デフォルトの名無しさん
2018/09/20(木) 01:42:01.91ID:iN76uuvx VBの組み込み関数とワークシート関数のどっちの話をしてるんだか
221デフォルトの名無しさん
2018/09/20(木) 05:12:33.95ID:We2hiCPZ Visual Basic Editorは20年前に発売されてとっくに引退したVB6のIDEの流用?で
なぜか20年間全く変わらないままだな、もうアホかと
Visual Studioで言うところの「すべての参照の検索」ぐらいできないと不便でしょうがない
なぜか20年間全く変わらないままだな、もうアホかと
Visual Studioで言うところの「すべての参照の検索」ぐらいできないと不便でしょうがない
222デフォルトの名無しさん
2018/09/20(木) 08:13:11.22ID:nFH62DW3 そりゃMSにとってはVBAはもはやレガシーもいいとこであり滅ぼしていきたいものだからだ
君の愛する Visual Studio にも昔はExcel VBAと同様にCOMオートメーションによるマクロ機能とその専用開発環境が付属してたけど、いつの間にか消えただろ?
完全に時代遅れの死んだ技術なんだよ
Excel VBAを削除したら大量の自称プロが露頭に迷って電車のダイヤに多大な影響が出るから踏み切れない、
でも車内のポリシー的にレガシー技術への新規投資はできない、というわけで放置するしかないわけ
君の愛する Visual Studio にも昔はExcel VBAと同様にCOMオートメーションによるマクロ機能とその専用開発環境が付属してたけど、いつの間にか消えただろ?
完全に時代遅れの死んだ技術なんだよ
Excel VBAを削除したら大量の自称プロが露頭に迷って電車のダイヤに多大な影響が出るから踏み切れない、
でも車内のポリシー的にレガシー技術への新規投資はできない、というわけで放置するしかないわけ
223デフォルトの名無しさん
2018/09/20(木) 11:47:27.86ID:lix+OrrW プロなんてものの数に入らないだろう
圧倒的に多いのは一般のオフィスワーカー
なくなったらむしろプロの側はビジネスチャンスじゃん
圧倒的に多いのは一般のオフィスワーカー
なくなったらむしろプロの側はビジネスチャンスじゃん
224デフォルトの名無しさん
2018/09/20(木) 12:03:27.50ID:xZtTWzui 質問です
タブ区切りtxtファイルを複数読み取り,指定の場所に貼り付けるVBAをMacOS上で制作したいのですが,ファイルパスの仕様?などの関係でうまくいきません
.
どなたかMacOSでのVBAに詳しい方はいらっしゃいませんか?
タブ区切りtxtファイルを複数読み取り,指定の場所に貼り付けるVBAをMacOS上で制作したいのですが,ファイルパスの仕様?などの関係でうまくいきません
.
どなたかMacOSでのVBAに詳しい方はいらっしゃいませんか?
225デフォルトの名無しさん
2018/09/20(木) 12:07:06.97ID:liPfzeAw >>224
まずコードを貼れよ。話はそれからだ
まずコードを貼れよ。話はそれからだ
226デフォルトの名無しさん
2018/09/20(木) 12:24:51.29ID:xZtTWzui >>225
恥ずかしながら,コードはまだ完成していないのです.
そもそも他ファイルの読み込みすらままならないので・・・
練習として,同じフォルダ内にあるEXCELファイル(Sample.xlsx)を開くだけのコードを描いてみたのですが,それすらうまく回りません.
同様のコードでwindowsでは問題なく回ったのですが・・・
Sub Sample()
Workbook.Open Filename:=ThisWorkbook.Path & "./Sample.xslx"
End Sub
この問題の解決法から教えていただけるとうれしいです.
初心者で右も左も分からず,基本的な質問になってしまい申し訳ありません
恥ずかしながら,コードはまだ完成していないのです.
そもそも他ファイルの読み込みすらままならないので・・・
練習として,同じフォルダ内にあるEXCELファイル(Sample.xlsx)を開くだけのコードを描いてみたのですが,それすらうまく回りません.
同様のコードでwindowsでは問題なく回ったのですが・・・
Sub Sample()
Workbook.Open Filename:=ThisWorkbook.Path & "./Sample.xslx"
End Sub
この問題の解決法から教えていただけるとうれしいです.
初心者で右も左も分からず,基本的な質問になってしまい申し訳ありません
227デフォルトの名無しさん
2018/09/20(木) 13:02:40.95ID:liPfzeAw >>226
ドットが不要。マックは知らんけどWindowsは本来パスはバックスラッシュ、拡張子はxlsxな
ドットが不要。マックは知らんけどWindowsは本来パスはバックスラッシュ、拡張子はxlsxな
228デフォルトの名無しさん
2018/09/20(木) 13:09:09.59ID:SZObeV+C 今開いているファイルが
/boot/hoge/fuga.xlsm
だとして同じ階層の
/boot/hoge/Sample.xlsx
を開きたいなら
相対指定では../Sample.xlsx
.ではだめ。
/boot/hoge/fuga.xlsm
だとして同じ階層の
/boot/hoge/Sample.xlsx
を開きたいなら
相対指定では../Sample.xlsx
.ではだめ。
229デフォルトの名無しさん
2018/09/20(木) 17:49:38.92ID:lix+OrrW グローバルなRangeプロパティへの参照を機械的に検知するアイディア
https://qiita.com/nukie_53/items/4e9226ac8f747e772afd
なるほどこの発想はなかった
https://qiita.com/nukie_53/items/4e9226ac8f747e772afd
なるほどこの発想はなかった
230デフォルトの名無しさん
2018/09/20(木) 18:03:18.90ID:hYohggeS231デフォルトの名無しさん
2018/09/20(木) 18:30:13.49ID:5eDdLMhs VBAが使えるのを売りにしてる事務員は多いからね
さすがにそろそろVBEは標準では付属しなくなって、
MSのサイトの分かりにくい場所から別途ダウンロードが必要になるくらいの弾圧施策は打ってくるんじゃないかな
さすがにそろそろVBEは標準では付属しなくなって、
MSのサイトの分かりにくい場所から別途ダウンロードが必要になるくらいの弾圧施策は打ってくるんじゃないかな
232デフォルトの名無しさん
2018/09/20(木) 18:36:30.44ID:49SYfM/r 事務員にそんなもの期待してない
233デフォルトの名無しさん
2018/09/20(木) 19:29:49.01ID:lix+OrrW 冷静に考えたらプロは喜ばないか
営業が喜ぶかもしれないってだけだな
営業が喜ぶかもしれないってだけだな
234デフォルトの名無しさん
2018/09/20(木) 20:28:39.42ID:qGj9TL9d235デフォルトの名無しさん
2018/09/20(木) 21:44:20.01ID:MjJalB6Y236デフォルトの名無しさん
2018/09/20(木) 21:59:37.62ID:whO82xMw マルチプラットフォーム、クラウドに注力してるのに
わざわざローカルのOSベッタリの技術にリソースは割きたくないでしょ
というかVBAの前にIEが消えると思う
わざわざローカルのOSベッタリの技術にリソースは割きたくないでしょ
というかVBAの前にIEが消えると思う
237デフォルトの名無しさん
2018/09/20(木) 22:42:00.54ID:oVrOG/N2 IEはガチのオワコンだからしゃーない
238デフォルトの名無しさん
2018/09/20(木) 22:54:11.74ID:tLKfXY5t239デフォルトの名無しさん
2018/09/21(金) 01:31:15.05ID:MqKbhYRD ところがここだけの話そうでもないんだよねーあんまり詳しくは言えないけどね
240デフォルトの名無しさん
2018/09/21(金) 02:38:37.17ID:ITZv+Gmc >>239
負け惜しみ言ってるんじゃねーよ、死ねよ
負け惜しみ言ってるんじゃねーよ、死ねよ
241デフォルトの名無しさん
2018/09/21(金) 09:35:36.97ID:mvgA0QsA どんなのが搭載されても関係無いだろ。
それに合わせるだけだ。
逆に待ち望んでた奴らはまたコレジャ・・・がダメとか言い出すんだろう。
結局今と変わらない。
自分の能力の低さを言語のせいにするような奴らなんだから。
それに合わせるだけだ。
逆に待ち望んでた奴らはまたコレジャ・・・がダメとか言い出すんだろう。
結局今と変わらない。
自分の能力の低さを言語のせいにするような奴らなんだから。
242デフォルトの名無しさん
2018/09/21(金) 16:53:09.50ID:Qvv9rksr 事務仕事でVBA使えると業務効率すごく良くなるの?
作業自動化とか見て心がわくわくするけど、うちの会社誰もVBA使えなくていまいちどんな感じなのか想像できない
作業自動化とか見て心がわくわくするけど、うちの会社誰もVBA使えなくていまいちどんな感じなのか想像できない
243デフォルトの名無しさん
2018/09/21(金) 17:42:59.81ID:CSX4ORRK244デフォルトの名無しさん
2018/09/21(金) 17:54:42.09ID:r3aTV2Xy まだ始めたばったりで基本もまだまだだけど、実際の業務で自動化できそうな簡単な課題を考えて試行錯誤してるんだけどこんな感じで身につくかな?
245デフォルトの名無しさん
2018/09/21(金) 17:56:20.06ID:xQShnEjp >>242
今からやるならdotnetやpythonがいいよ
どの言語でもエクセルを処理できる
業務はエクセルだけじゃない
だからどうせなら簡単で色々できてパワフルな別の言語を使ったほうがいいというわけ
今からやるならdotnetやpythonがいいよ
どの言語でもエクセルを処理できる
業務はエクセルだけじゃない
だからどうせなら簡単で色々できてパワフルな別の言語を使ったほうがいいというわけ
246デフォルトの名無しさん
2018/09/21(金) 18:04:23.10ID:liVyxOie メモ帳でC#組めるし.NETはオススメだね
247デフォルトの名無しさん
2018/09/21(金) 18:06:59.84ID:2TZ1ouJm VBAスレまできてPythonのステマとか
やっぱりPython信者は一味違うな
やっぱりPython信者は一味違うな
248デフォルトの名無しさん
2018/09/21(金) 18:11:58.90ID:mvgA0QsA dotnetもpythonもExcel上で使うには力不足。
VBAが一番都合が良いんだね。
VBAが一番都合が良いんだね。
249デフォルトの名無しさん
2018/09/21(金) 18:16:59.14ID:xQShnEjp エクセルはビジネスのごくわずかな領域でしかない
なのでエクセル依存のVBAはビジネスではイマイチなんだね
なのでエクセル依存のVBAはビジネスではイマイチなんだね
250デフォルトの名無しさん
2018/09/21(金) 18:29:31.75ID:liVyxOie やっぱり.NET、Python、PowerShellで決まりだよ
251デフォルトの名無しさん
2018/09/21(金) 18:33:05.98ID:MQAmc69g ユーザー定義ワークシート関数作れるようになってから出直せ
252デフォルトの名無しさん
2018/09/21(金) 18:35:03.52ID:uQKWYjQl >>242
凄く良くなるかは分からん
業務の種類と自分が出来る自動化のスキルによる
うちはシステム化ダメダメだったから日報を2時間掛けて作ってたらしいそれを2分で出来るようにした
土日も作ってるらしいからそこそこになった
凄く良くなるかは分からん
業務の種類と自分が出来る自動化のスキルによる
うちはシステム化ダメダメだったから日報を2時間掛けて作ってたらしいそれを2分で出来るようにした
土日も作ってるらしいからそこそこになった
253デフォルトの名無しさん
2018/09/21(金) 18:40:23.75ID:Qvv9rksr なるほどー。普段の業務考えてみたらルーチン作業ばっかしてるし自動化できそう
>>252
まさにそんな感じで日報も作ってるわ。部署ごとにわけて〜で2時間は余裕でかかってる
これがもし2分で終わったりしたら夢あるなぁ
>>252
まさにそんな感じで日報も作ってるわ。部署ごとにわけて〜で2時間は余裕でかかってる
これがもし2分で終わったりしたら夢あるなぁ
254デフォルトの名無しさん
2018/09/21(金) 18:44:00.14ID:liVyxOie C#あたり使ってVBEのコードペインにユーザー定義関数用のVB6コードを差し込むようにすれば大丈夫だと思うの
255デフォルトの名無しさん
2018/09/21(金) 18:46:12.21ID:MQAmc69g >>254
で、そのファイルは他の人が開いたらどうなるんや
で、そのファイルは他の人が開いたらどうなるんや
256デフォルトの名無しさん
2018/09/21(金) 18:50:57.60ID:liVyxOie ブックのコードペインに差し込んでスタンドアロンなVBAプログラムとして保存すれば他のユーザーがそのブックを開いても普通に関数として使えるじゃん
257デフォルトの名無しさん
2018/09/21(金) 18:56:13.68ID:xQShnEjp258デフォルトの名無しさん
2018/09/21(金) 19:01:09.32ID:MQAmc69g >>257
標準関数で書くと低速になるような式のとき、VBAに移す事で大幅に高速化できる。
必要になった時にその場で作るものだから、c#の場合VS起動してコンパイルしてとか論外。
その後、計算書完成したから後よろしくって上司に渡すとかよくある
標準関数で書くと低速になるような式のとき、VBAに移す事で大幅に高速化できる。
必要になった時にその場で作るものだから、c#の場合VS起動してコンパイルしてとか論外。
その後、計算書完成したから後よろしくって上司に渡すとかよくある
259デフォルトの名無しさん
2018/09/21(金) 19:17:25.97ID:FvpQrvJK 計算書なんて何度も計算するものじゃないだろ?
それに経過の計算を残すことが重要な書類じゃないのか?
無意味に速度なんて気にして誰も解読できないオナニー関数とか使うなよハゲ
それに経過の計算を残すことが重要な書類じゃないのか?
無意味に速度なんて気にして誰も解読できないオナニー関数とか使うなよハゲ
260デフォルトの名無しさん
2018/09/21(金) 19:22:37.61ID:xQShnEjp え?それだけ?
定義した関数をデリゲートとして渡してコレクションをソートしたり
メタデータを取得してデコレーターを生成したり
再利用可能なモジュールとしてシステムに登録したり
とかできないの?
使い捨てのシートに表示するのを高速化するだけのために重いエクセルとVBEを開いてVBAで我慢強くコーディングして動作確認とか辛いんですけど
定義した関数をデリゲートとして渡してコレクションをソートしたり
メタデータを取得してデコレーターを生成したり
再利用可能なモジュールとしてシステムに登録したり
とかできないの?
使い捨てのシートに表示するのを高速化するだけのために重いエクセルとVBEを開いてVBAで我慢強くコーディングして動作確認とか辛いんですけど
261デフォルトの名無しさん
2018/09/21(金) 19:30:10.67ID:liVyxOie 必要になったときに手軽に使うのはPowerShell
262デフォルトの名無しさん
2018/09/21(金) 19:31:16.07ID:MQAmc69g そういうのが作りたいなら好きにしてくれ。
VBAが適している場面もあるって話や
あと数秒で計算終わるなら必要ない。物によっては諸元入力のたびに再計算に1分かかる場合とかあるんよ。
エクセルエアプには分からなくても仕方がないが。
VBAが適している場面もあるって話や
あと数秒で計算終わるなら必要ない。物によっては諸元入力のたびに再計算に1分かかる場合とかあるんよ。
エクセルエアプには分からなくても仕方がないが。
263デフォルトの名無しさん
2018/09/21(金) 19:35:55.04ID:FvpQrvJK どうせSUMPRODUCTとか使いまくって悦に浸ってんだろ
エクセルプロ()さんは凄いですね
エクセルプロ()さんは凄いですね
264デフォルトの名無しさん
2018/09/21(金) 19:42:04.04ID:xQShnEjp リアルタイム更新はエクセル弱っちいよね
非同期処理のサポートが残念だから
入力するたび重い計算を同期で待ちってユーザーが激怒する典型的なパターンだよ
非同期処理のサポートが残念だから
入力するたび重い計算を同期で待ちってユーザーが激怒する典型的なパターンだよ
265デフォルトの名無しさん
2018/09/21(金) 19:54:44.02ID:liVyxOie 大容量データをエクセルで扱うならパワーピボット使おうよって思うし、ワークシートで行列計算の評価を何重にも行うならそれ全部外部の高速なプログラムにオンメモリでやってもらおうよって思うの
266デフォルトの名無しさん
2018/09/21(金) 20:16:40.40ID:4Tb64i1X >>260
お前、VBAに何やらせようと思ってるの?
VBAはあくまでOfficeアプリケーション上で使える便利機能でしかないんだよ?
お前が言ってることはデカいシステム作ることに対応した言語持ってきて
アレが出来ないコレが出来ないと騒いでいるに過ぎない。
そもそもそういうことをやるならそれなりのフレームワークを使ってEXCEL吐き出させろ。
お前、VBAに何やらせようと思ってるの?
VBAはあくまでOfficeアプリケーション上で使える便利機能でしかないんだよ?
お前が言ってることはデカいシステム作ることに対応した言語持ってきて
アレが出来ないコレが出来ないと騒いでいるに過ぎない。
そもそもそういうことをやるならそれなりのフレームワークを使ってEXCEL吐き出させろ。
267デフォルトの名無しさん
2018/09/21(金) 20:23:25.18ID:+w5W7Qw1268デフォルトの名無しさん
2018/09/21(金) 20:28:26.36ID:dSxNadcR >>267
VB6標準の組み込み関数じゃなくてエクセル組み込みの標準的なワークシート関数のことを言ってるんじゃないかと理解してたんだけど違うのか?
VB6標準の組み込み関数じゃなくてエクセル組み込みの標準的なワークシート関数のことを言ってるんじゃないかと理解してたんだけど違うのか?
269デフォルトの名無しさん
2018/09/21(金) 20:33:56.46ID:xQShnEjp >>266
デカイシステム?
日常的な規模のツールもC#やパワーシェルのほうがいいよ
小規模ならまあほとんどパワーシェルだな
エクセルはスケールデカイときは論外だけど
便利で基本的なクラスや言語機能がないからスケールの小さいちょっとした物にも実はそんなに向いてないんだな
外部コマンドの出力結果をパースして並び替えてフィルターしてエクセルに出力してファイルをwebサーバーにHTTPポスト
これぐらいの簡単な作業ですら着手に躊躇してしてしまう
デカイシステム?
日常的な規模のツールもC#やパワーシェルのほうがいいよ
小規模ならまあほとんどパワーシェルだな
エクセルはスケールデカイときは論外だけど
便利で基本的なクラスや言語機能がないからスケールの小さいちょっとした物にも実はそんなに向いてないんだな
外部コマンドの出力結果をパースして並び替えてフィルターしてエクセルに出力してファイルをwebサーバーにHTTPポスト
これぐらいの簡単な作業ですら着手に躊躇してしてしまう
270デフォルトの名無しさん
2018/09/21(金) 21:47:31.39ID:c6u7OXiZ >>268
いやワークシート関数で合ってると思うけどあれを超えられるユーザー定義関数を作る自信はないわ
いやワークシート関数で合ってると思うけどあれを超えられるユーザー定義関数を作る自信はないわ
271デフォルトの名無しさん
2018/09/21(金) 22:47:22.07ID:oOcVj6Vd 上で言ってるような重い処理じゃないけど、文字列操作系は自作したほうが便利なことが多いよな。
たとえばSplit関数がワークシートに無いのでパスをバラすときとか糞めんどい。
A1:C:\hoge\fugafuga\piyo
C:・・・・・=MID(A1,1,SEARCH("\",A1,1))
hoge・・・=MID(A1,SEARCH("\",A1,1)+1,SEARCH("\",A1,SEARCH("\",A1,1)+1)-SEARCH("\",A1,1)-1)
fugafuga・・・=MID(A1,SEARCH("\",A1,SEARCH("\",A1,1)+1)+1,
SEARCH("\",A1,SEARCH("\",A1,SEARCH("\",A1,1)+1)+1)-SEARCH("\",A1,SEARCH("\",A1,1)+1)-1)
しかしこれを定義するだけでシンプルになる。
Function SPLIT2(v, deli, idx)
SPLIT2 = Split(v, deli)(idx - 1)
End Function
C:・・・・・=SPLIT2(A1,"\",1)
hoge・・・=SPLIT2(A1,"\",2)
fugafuga・・・=SPLIT2(A1,"\",3)
だから文字列変換が出てきたら大抵VBAで関数組むかな
たとえばSplit関数がワークシートに無いのでパスをバラすときとか糞めんどい。
A1:C:\hoge\fugafuga\piyo
C:・・・・・=MID(A1,1,SEARCH("\",A1,1))
hoge・・・=MID(A1,SEARCH("\",A1,1)+1,SEARCH("\",A1,SEARCH("\",A1,1)+1)-SEARCH("\",A1,1)-1)
fugafuga・・・=MID(A1,SEARCH("\",A1,SEARCH("\",A1,1)+1)+1,
SEARCH("\",A1,SEARCH("\",A1,SEARCH("\",A1,1)+1)+1)-SEARCH("\",A1,SEARCH("\",A1,1)+1)-1)
しかしこれを定義するだけでシンプルになる。
Function SPLIT2(v, deli, idx)
SPLIT2 = Split(v, deli)(idx - 1)
End Function
C:・・・・・=SPLIT2(A1,"\",1)
hoge・・・=SPLIT2(A1,"\",2)
fugafuga・・・=SPLIT2(A1,"\",3)
だから文字列変換が出てきたら大抵VBAで関数組むかな
272デフォルトの名無しさん
2018/09/21(金) 22:52:30.61ID:oOcVj6Vd273デフォルトの名無しさん
2018/09/21(金) 22:53:01.55ID:/N0VzHQb splitがめんどいのは同意だけどなんでワークシート関数にするの?
vbaで処理完結したほうが良いと思うけど
vbaで処理完結したほうが良いと思うけど
274デフォルトの名無しさん
2018/09/21(金) 23:05:24.48ID:oOcVj6Vd >>273
それも場合によるかと
帳票、単票みたいなのをササっと作るときは、セル毎に式を組まないといけないから適してる。
あと行・列挿入が多い表に埋め込むときとか。
たぶんPowerShellerが想像してる表から表に変換するような場合にはあまり適してないね。
あと元の値が頻繁に変化するものは、そのたびにマクロ走らせないといけないから更新漏れが起こるのが困る。
それも場合によるかと
帳票、単票みたいなのをササっと作るときは、セル毎に式を組まないといけないから適してる。
あと行・列挿入が多い表に埋め込むときとか。
たぶんPowerShellerが想像してる表から表に変換するような場合にはあまり適してないね。
あと元の値が頻繁に変化するものは、そのたびにマクロ走らせないといけないから更新漏れが起こるのが困る。
275デフォルトの名無しさん
2018/09/21(金) 23:37:14.57ID:3Rh/KByq 考え方なんかなワークシートで式使われる方がめんどく感じる
大量にあったりすると重いしメンテしづらかったりするし
大量にあったりすると重いしメンテしづらかったりするし
276デフォルトの名無しさん
2018/09/21(金) 23:47:44.41ID:dSxNadcR Lispの糞コードいじる気分になるよね
277デフォルトの名無しさん
2018/09/21(金) 23:50:48.56ID:UZbX0jXb ワークシート関数なら他にはマネ出来ない
データ処理するだけならPowerShell使えって奴も多いんじゃね
データ処理するだけならPowerShell使えって奴も多いんじゃね
278デフォルトの名無しさん
2018/09/21(金) 23:50:54.80ID:MqKbhYRD 盛りすぎプロさんw
279デフォルトの名無しさん
2018/09/22(土) 00:01:13.95ID:96L85sWt SPLITみたいなのはワークシート関数にする派だな
汎用的な関数をワークシート内で使ったほうが見通しがいい
他にもMAP、FILTER、REDUCEみたいなのも自作して使ってるわ
汎用的な関数をワークシート内で使ったほうが見通しがいい
他にもMAP、FILTER、REDUCEみたいなのも自作して使ってるわ
280デフォルトの名無しさん
2018/09/22(土) 00:04:01.76ID:/LVptLz+ JSPやASPの失敗を繰り返しとるな
帳票にデータを埋め込みたいなら式じゃなくシンプルにセル参照を使うといいよ
参照先はプレーンなデータ専用シートね
こうしとけばセキュリティ監査的に面倒なマクロ付きにしなくていい、
データ供給元の言語に依存しなくなる、
データ供給元のコードがシンプルになる、
データモデルがわかりやすくなる、などなどメリットが多い
帳票にデータを埋め込みたいなら式じゃなくシンプルにセル参照を使うといいよ
参照先はプレーンなデータ専用シートね
こうしとけばセキュリティ監査的に面倒なマクロ付きにしなくていい、
データ供給元の言語に依存しなくなる、
データ供給元のコードがシンプルになる、
データモデルがわかりやすくなる、などなどメリットが多い
281デフォルトの名無しさん
2018/09/22(土) 00:17:31.94ID:T/6XWx9j >>279
MAPやREDUCEに渡す無名関数はどうやってる?
MAPやREDUCEに渡す無名関数はどうやってる?
282デフォルトの名無しさん
2018/09/22(土) 02:18:36.18ID:niETRueG ワークシート関数って”使う”のにかかる手間が少ないのがメリットだと思う。
関数の入力と出力だけ書いておけばVBA読めない人でもすぐに理解できる。
ワークシート関数使うのは使い捨ての帳票が大半だろうし>>280は全然違うものを想像してそう。
関数の入力と出力だけ書いておけばVBA読めない人でもすぐに理解できる。
ワークシート関数使うのは使い捨ての帳票が大半だろうし>>280は全然違うものを想像してそう。
283デフォルトの名無しさん
2018/09/22(土) 02:24:34.84ID:FJlDOW+X お前ら本当にもっと会社の利益になる事を頑張ってくれよ
やらせてるのは女の子がやる様な簡単な仕事なんだからこんなどーでも良い大して役に立たないVBAなんかに時間を使わずに他の人を手伝うとかちゃんと勤務中は仕事してね
分かったね?
やらせてるのは女の子がやる様な簡単な仕事なんだからこんなどーでも良い大して役に立たないVBAなんかに時間を使わずに他の人を手伝うとかちゃんと勤務中は仕事してね
分かったね?
284デフォルトの名無しさん
2018/09/22(土) 07:40:51.79ID:z7BGc1C3285デフォルトの名無しさん
2018/09/22(土) 08:08:03.84ID:T/6XWx9j >>283
老害かな
老害かな
286デフォルトの名無しさん
2018/09/22(土) 09:49:40.55ID:/LVptLz+ >>282
使い捨て帳票ならそれこそ手入力で十分
デザインするついでにデータも入れればいい
プログラムするものは何度も繰り返し出力するもの、何人もの社員が出力するものだ
そういうのは先ほどレスした理由でセル参照を使ったほうがいい
使い捨て帳票ならそれこそ手入力で十分
デザインするついでにデータも入れればいい
プログラムするものは何度も繰り返し出力するもの、何人もの社員が出力するものだ
そういうのは先ほどレスした理由でセル参照を使ったほうがいい
287デフォルトの名無しさん
2018/09/22(土) 09:55:14.40ID:MP8LoRbH 質問です
パワーシェルって.Net Freamworkの寄生虫みたいなもので
単体だとただのシェルと変わらないって本当です?
パワーシェルって.Net Freamworkの寄生虫みたいなもので
単体だとただのシェルと変わらないって本当です?
288デフォルトの名無しさん
2018/09/22(土) 09:58:32.80ID:WimPZWqW VBAがOffice製品の寄生虫なのと一緒
289デフォルトの名無しさん
2018/09/22(土) 11:14:47.29ID:KDDLtPfl VBAは個々の重いOfficeアプリを起動しないと動かせないけどPowerShellはIDEでも普通のPSコンソールでもPSだけでサクサク動かせるからそこが違う
290デフォルトの名無しさん
2018/09/22(土) 11:36:15.01ID:mc091pM3 PowerShell自体がたかがコマンドラインシェルのくせに起動ゲロ遅いから目糞鼻糞
291デフォルトの名無しさん
2018/09/22(土) 11:38:46.45ID:CkoNNNs2 Cmdプロの人の嫉妬かな
292デフォルトの名無しさん
2018/09/22(土) 11:55:38.81ID:mc091pM3 使ってるよ?
最近はだいたいbashで済ませてるけど
最近はだいたいbashで済ませてるけど
293デフォルトの名無しさん
2018/09/22(土) 21:13:08.35ID:+NSfHsNE 質問です。
ソルバー 機能をvbaで使ってるんだけど、目的や制約をセルを対象じゃなく、vba内の変数に対して適用したいんだけど不可能?
ソルバー 機能をvbaで使ってるんだけど、目的や制約をセルを対象じゃなく、vba内の変数に対して適用したいんだけど不可能?
294デフォルトの名無しさん
2018/09/22(土) 22:34:22.71ID:96L85sWt295デフォルトの名無しさん
2018/09/22(土) 23:03:40.40ID:iO7YjT3j 「=SUM(A1:A10)」のようにSUM関数の引数に計算範囲をして合計値を表示したあとで
その計算範囲のセルの値を書き換えた場合に合計値が更新されないことがあるのですがなぜでしょうか?
そのあと値を書き換えたセルでF2を押して入力状態にし、そのままエンターを押すとようやく合計値が更新されます。
その計算範囲のセルの値を書き換えた場合に合計値が更新されないことがあるのですがなぜでしょうか?
そのあと値を書き換えたセルでF2を押して入力状態にし、そのままエンターを押すとようやく合計値が更新されます。
296デフォルトの名無しさん
2018/09/22(土) 23:53:28.61ID:niETRueG >>295
自動再計算が手動になっているのでは?
自動再計算が手動になっているのでは?
297デフォルトの名無しさん
2018/09/23(日) 13:25:57.01ID:6+b91Fhf >>279
是非使いたいから公開してよ
是非使いたいから公開してよ
298デフォルトの名無しさん
2018/09/23(日) 15:33:34.28ID:aZjrg24v299デフォルトの名無しさん
2018/09/23(日) 15:35:54.14ID:aZjrg24v300デフォルトの名無しさん
2018/09/23(日) 15:38:28.44ID:aZjrg24v301デフォルトの名無しさん
2018/09/23(日) 15:47:46.09ID:aZjrg24v >>269
何度言っても分からない人だねえ。
エクセルのファイル作るだけなら何使っても良い。
別にVBAが有利なことも無い。
逆にファイル開いた状態から動かす時は1ファイルで済むVBAが有利だろう。
だからVBAの話題になってるこのスレなんかもメインはそういうVBA有利な場面の話なんだよ。
実際、VBA不利な場面なんていくらでも知ってるけど、不思議とアンチの言葉とは丸っきり被らない。
アンチの言葉は全く説得力がない。
被れば、こっちも「確かに」となる筈なんだけどね。
何度言っても分からない人だねえ。
エクセルのファイル作るだけなら何使っても良い。
別にVBAが有利なことも無い。
逆にファイル開いた状態から動かす時は1ファイルで済むVBAが有利だろう。
だからVBAの話題になってるこのスレなんかもメインはそういうVBA有利な場面の話なんだよ。
実際、VBA不利な場面なんていくらでも知ってるけど、不思議とアンチの言葉とは丸っきり被らない。
アンチの言葉は全く説得力がない。
被れば、こっちも「確かに」となる筈なんだけどね。
302デフォルトの名無しさん
2018/09/23(日) 16:04:30.67ID:xERBcwZj まーた1ファイル論争になってるのか、もう神学論争だよねこれ
VBA以外の言語でもCOMオブジェクトとしてアクティブなブックを操作できるわけだし、想定ユーザーのスキルレベルや運用条件や処理の内容によってVBAを使うべきか使わなくても良いかの判断なんて変わってくるでしょ
VBA以外の言語でもCOMオブジェクトとしてアクティブなブックを操作できるわけだし、想定ユーザーのスキルレベルや運用条件や処理の内容によってVBAを使うべきか使わなくても良いかの判断なんて変わってくるでしょ
303デフォルトの名無しさん
2018/09/23(日) 16:04:32.08ID:9e4CRvDY 大将、ドーナッツ一丁!
304デフォルトの名無しさん
2018/09/23(日) 16:30:52.15ID:H5quPExp 自分の場合はそもそもエクセルを開いた状態で動かしたいプログラムというのがあまり無いです
VBAを普段使いしているひとはどういう用途・目的でエクセルを開いた状態でマクロを使っているのでしょうか?
VBAを普段使いしているひとはどういう用途・目的でエクセルを開いた状態でマクロを使っているのでしょうか?
305デフォルトの名無しさん
2018/09/23(日) 16:46:09.55ID:yOUnCcQA つまりVBAなんて必要ないって事だよね
そんなクソ言語を覚える意味ないもんな
そんなクソ言語を覚える意味ないもんな
306デフォルトの名無しさん
2018/09/23(日) 16:49:36.19ID:aZjrg24v >>302
だから、それはそもそも何の言語でも良い話だろ。
VBAのスレなんだからVBA有利な話になるのが当たり前なんだよ。
だから1ファイルの話になるのが当然なの。
何で当たり前のことも出来ない話をしなきゃならんのかって話。
だから、それはそもそも何の言語でも良い話だろ。
VBAのスレなんだからVBA有利な話になるのが当たり前なんだよ。
だから1ファイルの話になるのが当然なの。
何で当たり前のことも出来ない話をしなきゃならんのかって話。
307デフォルトの名無しさん
2018/09/23(日) 16:54:56.19ID:aZjrg24v >>304
それはそもそもVBAである必要の無い話だろうに。
何でこのスレに来てるんだということになる。
こっちは殆どブック開いた状態が基本だよ。
だから最初から噛み合わない。
CSVなら分かるけどExcelのブックは開いて人の判断なりを使って何かするのが基本。
じゃなかったらそもそも人間が理解出来る表である必要もなく、単なるバイナリのデータで良いわけだ。
それはそもそもVBAである必要の無い話だろうに。
何でこのスレに来てるんだということになる。
こっちは殆どブック開いた状態が基本だよ。
だから最初から噛み合わない。
CSVなら分かるけどExcelのブックは開いて人の判断なりを使って何かするのが基本。
じゃなかったらそもそも人間が理解出来る表である必要もなく、単なるバイナリのデータで良いわけだ。
308デフォルトの名無しさん
2018/09/23(日) 16:59:47.48ID:xERBcwZj 落ち着こうや、常にVBAが有利なわけじゃないよねって言っただけだぞ
309デフォルトの名無しさん
2018/09/23(日) 17:00:28.44ID:9e4CRvDY みんながみんなそういう狭い世界で生きてるわけじゃない
キミのエクセルに対する姿勢はそうだってだけで
他の人は閉じた状態でもエクセルを扱う、
複数のファイルを扱う、エクセル以外との連携もする
その前提は崩しちゃいかんと思うのよ
キミのエクセルに対する姿勢はそうだってだけで
他の人は閉じた状態でもエクセルを扱う、
複数のファイルを扱う、エクセル以外との連携もする
その前提は崩しちゃいかんと思うのよ
310デフォルトの名無しさん
2018/09/23(日) 17:04:15.89ID:0vXeudiz みんながエクセル使えないわけやないんやでw
311デフォルトの名無しさん
2018/09/23(日) 17:06:10.83ID:bxERXRN+ だからさー、、、、話し相手が居ない淋しいプログラマの皆さんは、プログラ「ム」板のExcel VBAスレはなく
上にあるプログラマー板のどっかそういうスレで話し相手探せっつーの
それすら判らんようになってんのかいな。
ここで思いっきりマウンティングしたいというか、ここでないとマウンティング出来ないのは判るけどさー
上にあるプログラマー板のどっかそういうスレで話し相手探せっつーの
それすら判らんようになってんのかいな。
ここで思いっきりマウンティングしたいというか、ここでないとマウンティング出来ないのは判るけどさー
312デフォルトの名無しさん
2018/09/23(日) 17:08:31.58ID:xERBcwZj このスレに来る目的とかVBAに対して取るべき態度とかそんなの人の勝手じゃんよ
313デフォルトの名無しさん
2018/09/23(日) 17:11:49.59ID:aZjrg24v >>309
違うっちゅうの。
閉じた状態でブック触るならそもそも何の言語でも良いし、というよりむしろVBAは不利なんじゃないの?
じゃあ、何でVBAのスレが有るかと言えばそれは開いた状態で何かする話をしたいからだろ。
そりゃ、VBAだってある程度は汎用的に使えるから閉じた状態からVBAでどうにかする話題が有っても良いけどメインじゃないでしょ。
違うっちゅうの。
閉じた状態でブック触るならそもそも何の言語でも良いし、というよりむしろVBAは不利なんじゃないの?
じゃあ、何でVBAのスレが有るかと言えばそれは開いた状態で何かする話をしたいからだろ。
そりゃ、VBAだってある程度は汎用的に使えるから閉じた状態からVBAでどうにかする話題が有っても良いけどメインじゃないでしょ。
314デフォルトの名無しさん
2018/09/23(日) 17:15:40.69ID:xERBcwZj C#とかでCOM経由でエクセル触る前提だけどエクセルのオブジェクトモデルについてだけ質問したいと思った人がこっちに来る可能性だって十分あるんだよなぁ
315デフォルトの名無しさん
2018/09/23(日) 17:16:23.42ID:0vXeudiz ガキかいなw
そもそもvbaがいらない場面でvba使おうとして、あげくの果てにvbaが有利やないとか
訳わからん事言いだすプロさんがおると質問が収束せんねんw
端的に言って迷惑やねんプロさんw
>>312おまえの事やでw
そもそもvbaがいらない場面でvba使おうとして、あげくの果てにvbaが有利やないとか
訳わからん事言いだすプロさんがおると質問が収束せんねんw
端的に言って迷惑やねんプロさんw
>>312おまえの事やでw
316デフォルトの名無しさん
2018/09/23(日) 17:50:56.48ID:icVHbGJq 自演で荒らすのはよくないよPyキチ君
317デフォルトの名無しさん
2018/09/23(日) 18:06:38.73ID:cRG95Xcq vbaとrubyはイロイロと空気がにてる
ゴミっぷりも似てる
ゴミっぷりも似てる
318デフォルトの名無しさん
2018/09/23(日) 18:07:15.36ID:cRG95Xcq エクセルは優秀な表計算ソフトウェア
コレは間違いない
しかしエクセルのオマケ機能のvbaはウンコ
コレは間違いない
コレは間違いない
しかしエクセルのオマケ機能のvbaはウンコ
コレは間違いない
319デフォルトの名無しさん
2018/09/23(日) 18:09:15.69ID:H5quPExp320デフォルトの名無しさん
2018/09/23(日) 18:31:08.96ID:RgL9otrm ハンカクでまた別人アピールしてるの?
いい加減に板を荒らすのは止めな
いい加減に板を荒らすのは止めな
321デフォルトの名無しさん
2018/09/24(月) 00:45:26.83ID:LqyRy1HC ちょっと質問です。
とあるコードで
If 条件1 Then
MsgBox "メッセージ1"
End
ElseIf 条件2 Then
MsgBox "メッセージ2"
End
Else
End If
という記述を見たんですけど、Ifの中でEnd使うことってあるんですか?
やってる内容は
If 条件1 Then
MsgBox "メッセージ1"
End If
If 条件2 Then
MsgBox "メッセージ2"
End If
と同じなのかなと思ったんですけど、ご存知の方御教示頂ければ幸いです。
とあるコードで
If 条件1 Then
MsgBox "メッセージ1"
End
ElseIf 条件2 Then
MsgBox "メッセージ2"
End
Else
End If
という記述を見たんですけど、Ifの中でEnd使うことってあるんですか?
やってる内容は
If 条件1 Then
MsgBox "メッセージ1"
End If
If 条件2 Then
MsgBox "メッセージ2"
End If
と同じなのかなと思ったんですけど、ご存知の方御教示頂ければ幸いです。
322デフォルトの名無しさん
2018/09/24(月) 00:51:36.52ID:cyCxPH/A >>321
Endのことはさておき、そのふたつのコードの意味は異なるよ
Endのことはさておき、そのふたつのコードの意味は異なるよ
323デフォルトの名無しさん
2018/09/24(月) 01:02:46.39ID:LqyRy1HC >>322
本来意味が異なるのは分かるんですが、処理内容がそんな感じだったのでEndにはそういった意味があるのかな?と思って質問した次第です。
本来意味が異なるのは分かるんですが、処理内容がそんな感じだったのでEndにはそういった意味があるのかな?と思って質問した次第です。
324デフォルトの名無しさん
2018/09/24(月) 01:54:26.03ID:GrunNCaI >>321
全く意味が違う。END使ったらプログラムが強制終了されてしまう。絶対に使うべきではない。
Sub main1()
Call sub1(True, True)
MsgBox "main終了"
End Sub
Sub sub1(条件1 As Boolean, 条件2 As Boolean)
If 条件1 Then
MsgBox "メッセージ1"
End
ElseIf 条件2 Then
MsgBox "メッセージ2"
End
Else
End If
End Sub
'結果:メッセージ1しか出ない
Sub main2()
Call sub2(True, True)
MsgBox "main2終了"
End Sub
Sub sub2(条件1 As Boolean, 条件2 As Boolean)
If 条件1 Then
MsgBox "メッセージ1"
End If
If 条件2 Then
MsgBox "メッセージ2"
End If
End Sub
'結果:メッセージ1、メッセージ2、main終了
全く意味が違う。END使ったらプログラムが強制終了されてしまう。絶対に使うべきではない。
Sub main1()
Call sub1(True, True)
MsgBox "main終了"
End Sub
Sub sub1(条件1 As Boolean, 条件2 As Boolean)
If 条件1 Then
MsgBox "メッセージ1"
End
ElseIf 条件2 Then
MsgBox "メッセージ2"
End
Else
End If
End Sub
'結果:メッセージ1しか出ない
Sub main2()
Call sub2(True, True)
MsgBox "main2終了"
End Sub
Sub sub2(条件1 As Boolean, 条件2 As Boolean)
If 条件1 Then
MsgBox "メッセージ1"
End If
If 条件2 Then
MsgBox "メッセージ2"
End If
End Sub
'結果:メッセージ1、メッセージ2、main終了
325デフォルトの名無しさん
2018/09/24(月) 03:08:18.87ID:3gV95ADu Exit Sub とか Exit Function とかと違って、呼び出し元のプロシージャに返ることもなく一切のプログラムがそこで終了するコードってことだ。
Ifの中でEndを使うことがあるのかと訊かれれば、文法上は問題ないが俺だったら使わん。
もっとも、「早く返す」や「早く終了する」を追い求めたその人なりの結果かもしれんので、見かけたとしても内容次第で、問題のあるコードでなければとやかくは言わない。
Ifの中でEndを使うことがあるのかと訊かれれば、文法上は問題ないが俺だったら使わん。
もっとも、「早く返す」や「早く終了する」を追い求めたその人なりの結果かもしれんので、見かけたとしても内容次第で、問題のあるコードでなければとやかくは言わない。
326デフォルトの名無しさん
2018/09/24(月) 05:43:58.48ID:sHYzq55w >>321
Endステートメントを使うと、単にコードの実行が止まるだけでなくアプリケーションで保持していた全ての変数の値がリセットされ、アプリケーションに対する外部プロセスからの参照も遮断される
モードレス表示でフォームを表示している場合、値管理やカスタム常駐クラス使用のためにグローバル変数を使っている場合等には問題が生じるので本当に要注意
Endステートメントを使うと、単にコードの実行が止まるだけでなくアプリケーションで保持していた全ての変数の値がリセットされ、アプリケーションに対する外部プロセスからの参照も遮断される
モードレス表示でフォームを表示している場合、値管理やカスタム常駐クラス使用のためにグローバル変数を使っている場合等には問題が生じるので本当に要注意
327デフォルトの名無しさん
2018/09/24(月) 07:37:11.59ID:E4VB1fuR 状況わからんからなんとも言えんが致命的なエラー時に強制終了させるぐらいしかないと思う
>>321のコードは微妙にそう言うコード片な感じもするし
>>321のコードは微妙にそう言うコード片な感じもするし
328デフォルトの名無しさん
2018/09/24(月) 09:12:46.29ID:ALTh+r7C329デフォルトの名無しさん
2018/09/24(月) 09:24:57.98ID:LqyRy1HC 皆さまありがとうございます。
ちゃんと読んでみたら終了するコードでした…お恥ずかしい…
今後質問する際は頭をリフレッシュさせて読み直してからに致します。
ご迷惑をお掛けしました。ありがとうございました!
ちゃんと読んでみたら終了するコードでした…お恥ずかしい…
今後質問する際は頭をリフレッシュさせて読み直してからに致します。
ご迷惑をお掛けしました。ありがとうございました!
330デフォルトの名無しさん
2018/09/24(月) 09:47:07.47ID:ltYXr3cK psやらrubyやら喚き叫ぶバカよりは良い w
331デフォルトの名無しさん
2018/09/24(月) 10:16:18.94ID:Z99vN/yN >>329
ところで
If 条件1 Then
・・・
ElseIf 条件2 Then
・・・
End If
と
If 条件1 Then
・・・
End If
If 条件2 Then
・・・
End If
では意味が違ってくるのはわかってますか?
ところで
If 条件1 Then
・・・
ElseIf 条件2 Then
・・・
End If
と
If 条件1 Then
・・・
End If
If 条件2 Then
・・・
End If
では意味が違ってくるのはわかってますか?
332デフォルトの名無しさん
2018/09/24(月) 10:25:02.72ID:oCpujaFY 周回遅れなアホ質問要らん
333デフォルトの名無しさん
2018/09/24(月) 10:26:57.24ID:Z99vN/yN334デフォルトの名無しさん
2018/09/24(月) 10:34:31.82ID:LqyRy1HC >>331
ほんと何処に目をつけていたのか自分でも分からなくてお恥ずかしい限りですがElseの意味は分かっています。申し訳ないです…
ほんと何処に目をつけていたのか自分でも分からなくてお恥ずかしい限りですがElseの意味は分かっています。申し訳ないです…
335デフォルトの名無しさん
2018/09/24(月) 12:24:14.30ID:0AspGVrS >>334
訊かれてるのは ElseIf の意味だぞ
訊かれてるのは ElseIf の意味だぞ
336デフォルトの名無しさん
2018/09/24(月) 12:47:03.05ID:3gV95ADu 質問(した方が逆に質問される)スレ
337デフォルトの名無しさん
2018/09/24(月) 16:16:37.08ID:Z99vN/yN338デフォルトの名無しさん
2018/09/24(月) 16:35:59.07ID:e4NBE4Fp >>319
そもそもの考え方が違うから思い付かないんだろう。
例えば日付毎の生産量を表す表とグラフが有ったとする。
表示する期間を指定することでグラフ表示が変化するプログラムが有ったとしよう。
何でそんな機能が必要かといえば、表とグラフをにらめっこして、1週間後のグラフはどうだろうという要望や判断が有るからだ。
こんな例すら思い付かないんだから知識や技術が有ってもダメプログラマーなんだろうな。
そもそもの考え方が違うから思い付かないんだろう。
例えば日付毎の生産量を表す表とグラフが有ったとする。
表示する期間を指定することでグラフ表示が変化するプログラムが有ったとしよう。
何でそんな機能が必要かといえば、表とグラフをにらめっこして、1週間後のグラフはどうだろうという要望や判断が有るからだ。
こんな例すら思い付かないんだから知識や技術が有ってもダメプログラマーなんだろうな。
339デフォルトの名無しさん
2018/09/24(月) 18:01:08.47ID:qkXKwQlD 荒らし本人が言ってもな
340デフォルトの名無しさん
2018/09/24(月) 18:02:07.29ID:NcXWYl5J341デフォルトの名無しさん
2018/09/24(月) 18:06:57.12ID:In5MTxMl そんなのPowerShellかRubyで十分
342デフォルトの名無しさん
2018/09/24(月) 18:20:22.67ID:Z99vN/yN343デフォルトの名無しさん
2018/09/24(月) 18:28:34.71ID:sPlVwsRd >>338
どの言語でも簡単にできる上にそういうツールって今はいくらでもあるんでVBAでやる理由としてはちょっち弱いですね
これはエクセル開いた状態のVBAじゃないと絶対無理だっていう事例を知りたいです
どの言語でも簡単にできる上にそういうツールって今はいくらでもあるんでVBAでやる理由としてはちょっち弱いですね
これはエクセル開いた状態のVBAじゃないと絶対無理だっていう事例を知りたいです
344デフォルトの名無しさん
2018/09/24(月) 18:32:02.32ID:qkXKwQlD >>342
頭大丈夫か?
頭大丈夫か?
345デフォルトの名無しさん
2018/09/24(月) 18:44:10.41ID:e4NBE4Fp >>343
バーカ。
何でブックで保存するんだ?
そのファイルは結局どうするんだ?
Excelで開くんだよ。
何の為にそんなことするんだ?
業務では開いた上で人間が何らかの判断をする為だ。
そうじゃ無かったらExcelは必要ないし、人間が開く必要も無いし、ファイルもバイナリで良い筈なんだ。
開いた上で動作するものばかりである必要は無いが開いた上で作業するのが基本なんだからプログラムも開いた上で動作するのがメインなのは当たり前だろう。
バーカ。
何でブックで保存するんだ?
そのファイルは結局どうするんだ?
Excelで開くんだよ。
何の為にそんなことするんだ?
業務では開いた上で人間が何らかの判断をする為だ。
そうじゃ無かったらExcelは必要ないし、人間が開く必要も無いし、ファイルもバイナリで良い筈なんだ。
開いた上で動作するものばかりである必要は無いが開いた上で作業するのが基本なんだからプログラムも開いた上で動作するのがメインなのは当たり前だろう。
346デフォルトの名無しさん
2018/09/24(月) 18:47:21.59ID:sPlVwsRd347デフォルトの名無しさん
2018/09/24(月) 18:48:07.49ID:e4NBE4Fp348デフォルトの名無しさん
2018/09/24(月) 18:50:03.06ID:e4NBE4Fp 絶対に無理とかいい出したら、PC使わないと絶対無理な事例自体無くなってくるぞ。
紙とエンピツでOKという話になる。
紙とエンピツでOKという話になる。
349デフォルトの名無しさん
2018/09/24(月) 18:51:22.73ID:e4NBE4Fp350デフォルトの名無しさん
2018/09/24(月) 18:52:11.10ID:sPlVwsRd 主張が支離滅裂で理解できません
エクセルを開いたままVBAを使うメリットを納得させる決定的な事例を聞いてるのですが
そのような事例は存在しないのですか?
エクセルを開いたままVBAを使うメリットを納得させる決定的な事例を聞いてるのですが
そのような事例は存在しないのですか?
351デフォルトの名無しさん
2018/09/24(月) 18:52:40.76ID:e4NBE4Fp352デフォルトの名無しさん
2018/09/24(月) 18:53:11.09ID:e4NBE4Fp >>350
既に説明済みだが。
既に説明済みだが。
353デフォルトの名無しさん
2018/09/24(月) 18:54:30.36ID:sPlVwsRd354デフォルトの名無しさん
2018/09/24(月) 18:55:55.65ID:e4NBE4Fp そもそも最初から支離滅裂なのはお前じゃないか。
じゃあ、お前はどうしても絶対にVBAではいけない事例をあげられるのか?
そもそもVBAを否定する奴の主張の方が絶対どころかほとんど大した理由になってないものばかりじゃねーか。
じゃあ、お前はどうしても絶対にVBAではいけない事例をあげられるのか?
そもそもVBAを否定する奴の主張の方が絶対どころかほとんど大した理由になってないものばかりじゃねーか。
355デフォルトの名無しさん
2018/09/24(月) 18:56:13.26ID:e4NBE4Fp >>353
既に説明済み。
既に説明済み。
356デフォルトの名無しさん
2018/09/24(月) 18:57:30.40ID:e4NBE4Fp >>353
結局、お前の主張を要約すると「VBAは嫌い」というだけだ。
結局、お前の主張を要約すると「VBAは嫌い」というだけだ。
357デフォルトの名無しさん
2018/09/24(月) 19:00:43.65ID:NcXWYl5J >>342
思わない
エクセル以外の処理をvbaで色々やるのが間違ってるんだよ
C#にでもまとめて、コマンドプロンプトで処理すればいい
もう文字コードだのお節介機能で自動変換だの疲れた
ってか、”1-1-1”を普通に取り込めないとかもうウンコofウンコすぎてしんどい
思わない
エクセル以外の処理をvbaで色々やるのが間違ってるんだよ
C#にでもまとめて、コマンドプロンプトで処理すればいい
もう文字コードだのお節介機能で自動変換だの疲れた
ってか、”1-1-1”を普通に取り込めないとかもうウンコofウンコすぎてしんどい
358デフォルトの名無しさん
2018/09/24(月) 19:01:15.42ID:sPlVwsRd >>354
いけないということはないですが楽で効果的な手法があるなら常識的に考えてそちらを使うのが自然ですよね
あえて非効率な方法を選ぶならそれなりの理由が有るはずです
その理由とそれを納得させるような事例を知りたいのです
ただ単にその事例に興味があります
いけないということはないですが楽で効果的な手法があるなら常識的に考えてそちらを使うのが自然ですよね
あえて非効率な方法を選ぶならそれなりの理由が有るはずです
その理由とそれを納得させるような事例を知りたいのです
ただ単にその事例に興味があります
359デフォルトの名無しさん
2018/09/24(月) 19:05:58.04ID:e4NBE4Fp >>358
自然w
頭の悪さが滲み出てるわw
よくそんなこっぱずかしいことが言えるな。
Excelのブックは開いた状態で作業するのが「自然」なんだからお前の主張に則ればVBAが一番有利という結論だな。
自然w
頭の悪さが滲み出てるわw
よくそんなこっぱずかしいことが言えるな。
Excelのブックは開いた状態で作業するのが「自然」なんだからお前の主張に則ればVBAが一番有利という結論だな。
360デフォルトの名無しさん
2018/09/24(月) 19:08:11.84ID:e4NBE4Fp 自然などと書けばこういう突っ込みが来ることも想像出来ないんだから話にならない。
361デフォルトの名無しさん
2018/09/24(月) 19:09:15.54ID:sPlVwsRd >>359
エクセルを開いたままVBAを使うことが他の言語やツールと比べてメリットがあると納得させる事例は存在しないのですか?
エクセルを開いたままVBAを使うことが他の言語やツールと比べてメリットがあると納得させる事例は存在しないのですか?
362デフォルトの名無しさん
2018/09/24(月) 19:11:39.15ID:GrunNCaI >>358
使うのに必要なスキルが極めて少ない
使うのに必要なスキルが極めて少ない
363デフォルトの名無しさん
2018/09/24(月) 19:16:37.23ID:sPlVwsRd 答え無しですが時間がもったいないのでこの辺りで切り上げましょうか
364デフォルトの名無しさん
2018/09/24(月) 19:19:46.76ID:e4NBE4Fp 人には絶対を求める癖に自分は自然ですます。
いったい、どういう頭の構造になってるんだろう。
いったい、どういう頭の構造になってるんだろう。
365デフォルトの名無しさん
2018/09/24(月) 19:54:15.09ID:Z99vN/yN そもそも俺はVBAの言語仕様がなかなか良いと思ってるんだが
そういう前提に立つ人間は少ないのかな?
そういう前提に立つ人間は少ないのかな?
366デフォルトの名無しさん
2018/09/24(月) 20:14:30.52ID:Go3cawEH367デフォルトの名無しさん
2018/09/24(月) 20:14:49.56ID:8Eg6qm1l 20年間COBOLとPL/Iをメインでやってきた人が、「VBAは良い。生産性がとても優れている。」と言っていた
まあ人それぞれということだ
まあ人それぞれということだ
368デフォルトの名無しさん
2018/09/24(月) 20:15:16.80ID:Z99vN/yN369デフォルトの名無しさん
2018/09/24(月) 20:16:36.26ID:Z99vN/yN370デフォルトの名無しさん
2018/09/24(月) 20:18:56.67ID:E4VB1fuR371デフォルトの名無しさん
2018/09/24(月) 20:25:47.99ID:3gV95ADu372デフォルトの名無しさん
2018/09/24(月) 20:27:32.35ID:Z99vN/yN >>370
それはもちろんそうだが、それによって致命的に使いにくくなっているわけじゃないしな。
なんか上の方の議論が「使いにくい言語をあえて使う理由は何なの?」みたいなノリで、
言語として使いにくいことが前提みたいになってる点が気になった。
「VBAは十分使いやすい言語だ」という前提を下ろすつもりのない人間もいるわけで。
それはもちろんそうだが、それによって致命的に使いにくくなっているわけじゃないしな。
なんか上の方の議論が「使いにくい言語をあえて使う理由は何なの?」みたいなノリで、
言語として使いにくいことが前提みたいになってる点が気になった。
「VBAは十分使いやすい言語だ」という前提を下ろすつもりのない人間もいるわけで。
373デフォルトの名無しさん
2018/09/24(月) 20:27:41.54ID:vr3+WUA5 「良い」にも色々あるからな
まともなプログラミングの基礎のない低スキルな人間が、新しいことを一切学ばずとも20年間仕事できてるわけで、これはすごいことだよ
まともなプログラミングの基礎のない低スキルな人間が、新しいことを一切学ばずとも20年間仕事できてるわけで、これはすごいことだよ
374デフォルトの名無しさん
2018/09/24(月) 20:28:51.56ID:5zI+X6hO >>370
当時からガチ勢と比べれば見劣りすることだらけだったわw何知ったかしとんねんプロさんwwww
当時からガチ勢と比べれば見劣りすることだらけだったわw何知ったかしとんねんプロさんwwww
375デフォルトの名無しさん
2018/09/24(月) 20:48:27.78ID:E4VB1fuR376デフォルトの名無しさん
2018/09/24(月) 20:54:52.18ID:5zI+X6hO >>375
うむ、バカはしゃべらん方がよろしいw
うむ、バカはしゃべらん方がよろしいw
377デフォルトの名無しさん
2018/09/24(月) 21:28:35.65ID:Hov49HPU くだらない言い合いでスレ伸びまくりで草
378デフォルトの名無しさん
2018/09/24(月) 21:48:48.21ID:GrunNCaI エクセルVBAは(ユーザーの)エクセルの操作を支援する場面において無類の力を発揮する。
しかしちょっと込み入った処理をしようとすると近代的な言語で書きたくなることは確かにある。
そこで質問です。
エクセル上でボタンを押す
→VBAでイベントを受ける
→外部プログラムにSelectionを渡す
→Selection(Range)を元に処理を実行
→処理結果を二次元配列データでVBAで受け取る
→VBAでデータを加工する。
→ワークシートにデータを書き出す。
尚、本エクセルは共有フォルダ上において複数名が交代で使用する。
こういったことがしたい場合何で書いたらいい?C#?PowerShell?
既存のVBAも活かしたいので、全部C#とかに一新しろっていう回答は無しでお願い。
しかしちょっと込み入った処理をしようとすると近代的な言語で書きたくなることは確かにある。
そこで質問です。
エクセル上でボタンを押す
→VBAでイベントを受ける
→外部プログラムにSelectionを渡す
→Selection(Range)を元に処理を実行
→処理結果を二次元配列データでVBAで受け取る
→VBAでデータを加工する。
→ワークシートにデータを書き出す。
尚、本エクセルは共有フォルダ上において複数名が交代で使用する。
こういったことがしたい場合何で書いたらいい?C#?PowerShell?
既存のVBAも活かしたいので、全部C#とかに一新しろっていう回答は無しでお願い。
379デフォルトの名無しさん
2018/09/24(月) 21:53:45.14ID:QDf0aD0O VSTOでアドオンだな
VBA資産とかいうゴミは捨ててC#で一新しよう
VBA資産とかいうゴミは捨ててC#で一新しよう
380デフォルトの名無しさん
2018/09/24(月) 21:56:06.10ID:NcXWYl5J381デフォルトの名無しさん
2018/09/24(月) 22:02:20.31ID:Z99vN/yN >>378
> →Selection(Range)を元に処理を実行
> →処理結果を二次元配列データでVBAで受け取る
この2点からしてVBAで完結する案件
最初からRange→配列にして処理すればいいからね
> →Selection(Range)を元に処理を実行
> →処理結果を二次元配列データでVBAで受け取る
この2点からしてVBAで完結する案件
最初からRange→配列にして処理すればいいからね
382デフォルトの名無しさん
2018/09/24(月) 22:19:41.01ID:GrunNCaI >>380,381
シンプルに書きすぎた。
たとえばSelectionの中身がファイルのパスで、そのファイルが複雑なデータ形式(たとえばAutoCAD dwg)を外部プログラムで解読したいとする。
(VBAのクラス関連の機能がショボすぎて無理だったので、前にC#で書いたものがある)
これをVBAから呼び出して使いたいってこと。
諸事情によりエクセルブックと同じフォルダにps1なりdllを置く必要があって、これを呼び出せると助かる。
シンプルに書きすぎた。
たとえばSelectionの中身がファイルのパスで、そのファイルが複雑なデータ形式(たとえばAutoCAD dwg)を外部プログラムで解読したいとする。
(VBAのクラス関連の機能がショボすぎて無理だったので、前にC#で書いたものがある)
これをVBAから呼び出して使いたいってこと。
諸事情によりエクセルブックと同じフォルダにps1なりdllを置く必要があって、これを呼び出せると助かる。
383デフォルトの名無しさん
2018/09/24(月) 22:24:01.34ID:Z99vN/yN384デフォルトの名無しさん
2018/09/24(月) 22:34:16.30ID:Z99vN/yN >>382
まあCだと諸般の事情から文字列を渡す場合でも
ByVal path As Stringじゃなくて
ByRef path As Varian ってインタフェースがいいわけですが
C#だと知らん
まあCだと諸般の事情から文字列を渡す場合でも
ByVal path As Stringじゃなくて
ByRef path As Varian ってインタフェースがいいわけですが
C#だと知らん
385デフォルトの名無しさん
2018/09/24(月) 22:44:58.17ID:sPlVwsRd >>378
VBA->C#(COM)->PowerShell->(PS, C#, CMD, VBS, etc.)
VBA->C#(COM)->PowerShell->(PS, C#, CMD, VBS, etc.)
386デフォルトの名無しさん
2018/09/24(月) 23:06:47.65ID:GrunNCaI >>383,384,385
同じフォルダのDLLを呼ぶように出来るの?
COM使うとしたらregasmが必要になるらしいけど・・・
ネットワーク共有フォルダ上のは設定出来ないのでは?
あ、遅延バインディングで出来るんだろうか
同じフォルダのDLLを呼ぶように出来るの?
COM使うとしたらregasmが必要になるらしいけど・・・
ネットワーク共有フォルダ上のは設定出来ないのでは?
あ、遅延バインディングで出来るんだろうか
387デフォルトの名無しさん
2018/09/24(月) 23:17:50.47ID:Z99vN/yN >>386
自作DLLをVBAから呼ぶっていう単純な話だよね?
別にどんなフォルダにあろうと関係ないけど。
あとSelectionそのものじゃなくて配列化したデータを渡すんだったらCOMなんていらなくて
WIN32APIだけでできる。
自作DLLをVBAから呼ぶっていう単純な話だよね?
別にどんなフォルダにあろうと関係ないけど。
あとSelectionそのものじゃなくて配列化したデータを渡すんだったらCOMなんていらなくて
WIN32APIだけでできる。
388デフォルトの名無しさん
2018/09/24(月) 23:30:05.56ID:3gV95ADu 要はCADデータからメタ情報を抽出して、できればExcel形式で一覧化したい系の?
389デフォルトの名無しさん
2018/09/24(月) 23:46:24.03ID:GrunNCaI390388
2018/09/25(火) 01:06:10.25ID:s1AsV/RM >>389
確かにそれだと自作DLLぐらいしか解決策なさそうだな。
んで、C#で書いた.NET系のDLLの関数をRegAsm使わないで呼び出したいと・・・悪いけど正直やったことない。
が、DLLをEXCEL.EXEと同じ所に置けるなら↓の方法が使えるかもしれない。
http://www.ka-net.org/blog/?p=6198
全然見当違いだったら申し訳ないが。
確かにそれだと自作DLLぐらいしか解決策なさそうだな。
んで、C#で書いた.NET系のDLLの関数をRegAsm使わないで呼び出したいと・・・悪いけど正直やったことない。
が、DLLをEXCEL.EXEと同じ所に置けるなら↓の方法が使えるかもしれない。
http://www.ka-net.org/blog/?p=6198
全然見当違いだったら申し訳ないが。
391デフォルトの名無しさん
2018/09/25(火) 18:07:06.26ID:HENVIdME フォームにオプションボタン1,2,3、リストボックス1,2,3を設置
オプションボタン2にチェックがあるとき、リストボックス2表示、リストボックス1,3は非表示
という具合に、オプションボタンにチェックがあるときに対応するリストボックスを表示、それ以外を非表示にしたいです
Private Sub UserForm_Activate()
If OptionButton1.Value = True Then
ListBox1.Visible = True
ListBox2.Visible = False
ListBox3.Visible = False
ElseIf OptionButton2.Value = True Then
ListBox1.Visible = False
ListBox2.Visible = True
ListBox3.Visible = False
ElseIf OptionButton3.Value = True Then
省略
end if
と書いてみたのですが、リストボックスの表示、非表示をコントロールできません
どうすればいいでしょうか
オプションボタン2にチェックがあるとき、リストボックス2表示、リストボックス1,3は非表示
という具合に、オプションボタンにチェックがあるときに対応するリストボックスを表示、それ以外を非表示にしたいです
Private Sub UserForm_Activate()
If OptionButton1.Value = True Then
ListBox1.Visible = True
ListBox2.Visible = False
ListBox3.Visible = False
ElseIf OptionButton2.Value = True Then
ListBox1.Visible = False
ListBox2.Visible = True
ListBox3.Visible = False
ElseIf OptionButton3.Value = True Then
省略
end if
と書いてみたのですが、リストボックスの表示、非表示をコントロールできません
どうすればいいでしょうか
392デフォルトの名無しさん
2018/09/25(火) 18:25:16.89ID:Rh4u2+TF >>386
プロフェッショナルなら可能
プロフェッショナルなら可能
393デフォルトの名無しさん
2018/09/25(火) 18:35:56.01ID:quZOCI3i >>391
オプションボタンのクリックイベントに書かないと動かなくて当然
オプションボタンのクリックイベントに書かないと動かなくて当然
394デフォルトの名無しさん
2018/09/25(火) 19:09:20.22ID:5hhJfzHj >>389
まず、そのDLLはCOMなのか、通常の呼び出し用なのか、.NET用なのか
COMなら参照設定なりCreateObjectなりで
通常のDLLならDeclare Function(SUB)で呼び出せば良いだけ
.NETのDLLは.NET以外から呼び出すのは難しいので、素直にCOM公開する方が楽
まあその相手方(たとえばAutoCAD?)がCOM公開してくれるのが一番楽だろうけど
まず、そのDLLはCOMなのか、通常の呼び出し用なのか、.NET用なのか
COMなら参照設定なりCreateObjectなりで
通常のDLLならDeclare Function(SUB)で呼び出せば良いだけ
.NETのDLLは.NET以外から呼び出すのは難しいので、素直にCOM公開する方が楽
まあその相手方(たとえばAutoCAD?)がCOM公開してくれるのが一番楽だろうけど
395デフォルトの名無しさん
2018/09/25(火) 19:09:27.10ID:HENVIdME396デフォルトの名無しさん
2018/09/25(火) 19:15:41.25ID:SdejvHFK すみません、切実に助けて頂きたいです。
現在、VBAからoracle12cにado接続してデータアップデートを行う処理を作成しています。
ですが、更新はうまく行くのですが、なぜか処理件数がどうしても0になってしまいます。
何時間も色んなサイトを参考にしたり、したのですが、ダメで…
色々なサイトにあるソースをコピペして接続先やテーブル名のみ変えて貼ったりもしてみましたが、実行するとやはり更新はされるのに処理件数が取得できません。
もう自分ではどうすることも出来ず、どなたか助けて下さい…お願いいたします。
現在、VBAからoracle12cにado接続してデータアップデートを行う処理を作成しています。
ですが、更新はうまく行くのですが、なぜか処理件数がどうしても0になってしまいます。
何時間も色んなサイトを参考にしたり、したのですが、ダメで…
色々なサイトにあるソースをコピペして接続先やテーブル名のみ変えて貼ったりもしてみましたが、実行するとやはり更新はされるのに処理件数が取得できません。
もう自分ではどうすることも出来ず、どなたか助けて下さい…お願いいたします。
397デフォルトの名無しさん
2018/09/25(火) 20:31:14.47ID:ObO6oAGo >>396
どうやって取ろうとしている?
どうやって取ろうとしている?
398デフォルトの名無しさん
2018/09/25(火) 20:41:07.98ID:/T1GixS7399デフォルトの名無しさん
2018/09/26(水) 00:30:33.04ID:17jq3B2z WinScard API使ってリーダーに設置したカードのIDmをセルに入力させたいのですが、うまく機能しません。
サンプルコードがありましたらご教示願います。
サンプルコードがありましたらご教示願います。
400デフォルトの名無しさん
2018/09/26(水) 01:13:21.41ID:6OKvzXmf >>396
プロパイダ(ドライバ)によってはレコード件数返さん奴があったはず
一回プロパイダ変えて試してみ
最悪は更新と同じ条件のselect投げて件数取得してから更新かけれ
プロパイダ(ドライバ)によってはレコード件数返さん奴があったはず
一回プロパイダ変えて試してみ
最悪は更新と同じ条件のselect投げて件数取得してから更新かけれ
401396
2018/09/26(水) 09:21:14.19ID:rrNz/9UY 397、396
コマンドオブジェクトから、以下のようにしてやっていました。
com.execute(re)
comはADODB.COMMANDで、updete文を設定してあり、更新自体はうまくいきます。
reはlong型の変数です。
マニュアルのとおり、コネクションでexecuteもやってみたのですが、結果は返らず…
400
Microsoft ACTIVEX data objects 6.1を使ってみているのですが、ほかのバージョンにしてもダメでした…
ADO接続を使用する上で、必要な参照が上記以外にあるのでしょうか…
皆さんすみません、ほんとうに素人丸出しで申し訳ございません…
コマンドオブジェクトから、以下のようにしてやっていました。
com.execute(re)
comはADODB.COMMANDで、updete文を設定してあり、更新自体はうまくいきます。
reはlong型の変数です。
マニュアルのとおり、コネクションでexecuteもやってみたのですが、結果は返らず…
400
Microsoft ACTIVEX data objects 6.1を使ってみているのですが、ほかのバージョンにしてもダメでした…
ADO接続を使用する上で、必要な参照が上記以外にあるのでしょうか…
皆さんすみません、ほんとうに素人丸出しで申し訳ございません…
402デフォルトの名無しさん
2018/09/26(水) 16:42:22.74ID:JgSk1Rg0 VBAの勉強をしようと思うのですが、まず何から始めればいいですか?教えてください。
403デフォルトの名無しさん
2018/09/26(水) 17:05:59.73ID:cCj/GZBP まず服を脱ぎます。
404デフォルトの名無しさん
2018/09/26(水) 18:16:51.93ID:Dt06YZ+t >>402
まずやりたい事を考えるといい。
最初は既存の関数の真似するプログラムでも書いて基本的な書き方を覚えるとかオススメ。
関数使えばチェックできるし。
慣れてきたら、百ます計算を作るでもいいし、ナンプレを作るでもいい。日常的にエクセルでやってる操作があるなら自動化してみるでもいい。
そのために必要なことはググれば全部出てくる。
まずやりたい事を考えるといい。
最初は既存の関数の真似するプログラムでも書いて基本的な書き方を覚えるとかオススメ。
関数使えばチェックできるし。
慣れてきたら、百ます計算を作るでもいいし、ナンプレを作るでもいい。日常的にエクセルでやってる操作があるなら自動化してみるでもいい。
そのために必要なことはググれば全部出てくる。
405デフォルトの名無しさん
2018/09/26(水) 18:45:15.00ID:OGb2Ur6B 以下二点留意すればあとはググりながら独学で大丈夫かと思います
・普通に日英両方でググっても出てこなかったら他のモダンな言語の出番だと察する癖をつける
・bufとかSub Sample1()とかobjFsoといった特徴的な表記をサンプルコードで多用しているサイトは悪いコードの見本市なので極力真似ないように今から気を付ける
・普通に日英両方でググっても出てこなかったら他のモダンな言語の出番だと察する癖をつける
・bufとかSub Sample1()とかobjFsoといった特徴的な表記をサンプルコードで多用しているサイトは悪いコードの見本市なので極力真似ないように今から気を付ける
406デフォルトの名無しさん
2018/09/26(水) 19:12:00.05ID:+un+mAjX そしておもむろに肛門にこびりついトレペかすを掃除します。
407デフォルトの名無しさん
2018/09/26(水) 19:12:58.42ID:SfBrsqof >>401
12cならOracle.ManagedDataAccessがオススメ
12cならOracle.ManagedDataAccessがオススメ
408デフォルトの名無しさん
2018/09/26(水) 21:33:09.71ID:JgSk1Rg0 >>404
いきなり参考書から始めないほうがいいってネットに書いてありましたけど、本当ですか?
いきなり参考書から始めないほうがいいってネットに書いてありましたけど、本当ですか?
409デフォルトの名無しさん
2018/09/26(水) 22:45:53.91ID:+un+mAjX ネットに書いてある事を素人が真似ると最悪直腸が破裂する危険もあります。
初心者が浣腸プレイに挑戦する時は必ず上級者に直接教えてもらうようにしまちょう。
初心者が浣腸プレイに挑戦する時は必ず上級者に直接教えてもらうようにしまちょう。
410デフォルトの名無しさん
2018/09/26(水) 23:16:47.85ID:4uP8tILz >>409
それ、面白いと思って書いたの?
それ、面白いと思って書いたの?
411デフォルトの名無しさん
2018/09/26(水) 23:17:53.84ID:+un+mAjX >>410
面白いと思ったの?w
面白いと思ったの?w
412デフォルトの名無しさん
2018/09/26(水) 23:33:31.70ID:4uP8tILz413デフォルトの名無しさん
2018/09/26(水) 23:35:48.77ID:+un+mAjX >>412
じゃなんで面白いと思ったの?って書いたの?w
じゃなんで面白いと思ったの?って書いたの?w
414デフォルトの名無しさん
2018/09/26(水) 23:48:40.23ID:4uP8tILz >>413
滑ってるようにしか見えなかったから
滑ってるようにしか見えなかったから
415デフォルトの名無しさん
2018/09/27(木) 08:01:55.54ID:99b9Jx0M >>414
結局おまえが盛大にスベっとるやんw恥をしれw
結局おまえが盛大にスベっとるやんw恥をしれw
416デフォルトの名無しさん
2018/09/27(木) 08:16:20.10ID:zQmuEMQe >>408
画面で一行ごとの動きを見ながら勉強した方が解説読むより理解しやすい。タイピングする時間も解説を読む時間も無駄。
画面で一行ごとの動きを見ながら勉強した方が解説読むより理解しやすい。タイピングする時間も解説を読む時間も無駄。
417デフォルトの名無しさん
2018/09/27(木) 12:17:06.67ID:UAsp+BRN >>402
まず入門書かって読めばいいんじゃね
まず入門書かって読めばいいんじゃね
418デフォルトの名無しさん
2018/09/27(木) 12:26:33.91ID:UAsp+BRN 勉強のやり方をを勉強しないと勉強できないとか
419デフォルトの名無しさん
2018/09/27(木) 21:40:20.96ID:hL85+V3Z420デフォルトの名無しさん
2018/09/27(木) 21:48:20.24ID:qqpzpvHf421デフォルトの名無しさん
2018/09/27(木) 21:54:42.81ID:MgIWwOWH422デフォルトの名無しさん
2018/09/27(木) 21:55:15.47ID:hL85+V3Z423デフォルトの名無しさん
2018/09/27(木) 21:56:35.93ID:hL85+V3Z424デフォルトの名無しさん
2018/09/27(木) 22:10:56.58ID:pq96CSzd 普通にデータソースをそのブックのシートにして
SQL書けばきっと簡単にできる
VBAなんか不要
SQL書けばきっと簡単にできる
VBAなんか不要
425デフォルトの名無しさん
2018/09/27(木) 22:19:36.54ID:MgIWwOWH426デフォルトの名無しさん
2018/09/27(木) 22:21:31.13ID:hL85+V3Z427デフォルトの名無しさん
2018/09/27(木) 22:22:48.42ID:hL85+V3Z428デフォルトの名無しさん
2018/09/27(木) 22:30:26.82ID:pq96CSzd https://i.imgur.com/g0LaQIP.png
sheet1
https://i.imgur.com/CswmAtc.png
sheet2
※ sheet2にsheet1の結果を抽出
↓この抽出結果
SELECT min(`Sheet1$`.aho) , sum(`Sheet1$`.baka) , min(`Sheet1$`.じゃま)
FROM `himistu\baka.xlsx`.`Sheet1$` `Sheet1$`
group by `Sheet1$`.aho
sheet1
https://i.imgur.com/CswmAtc.png
sheet2
※ sheet2にsheet1の結果を抽出
↓この抽出結果
SELECT min(`Sheet1$`.aho) , sum(`Sheet1$`.baka) , min(`Sheet1$`.じゃま)
FROM `himistu\baka.xlsx`.`Sheet1$` `Sheet1$`
group by `Sheet1$`.aho
429デフォルトの名無しさん
2018/09/27(木) 22:48:24.69ID:pq96CSzd430デフォルトの名無しさん
2018/09/27(木) 22:54:14.35ID:MgIWwOWH431デフォルトの名無しさん
2018/09/27(木) 23:00:45.54ID:hL85+V3Z432デフォルトの名無しさん
2018/09/27(木) 23:03:47.01ID:pq96CSzd433デフォルトの名無しさん
2018/09/27(木) 23:06:15.22ID:hL85+V3Z434デフォルトの名無しさん
2018/09/27(木) 23:09:53.34ID:MgIWwOWH435デフォルトの名無しさん
2018/09/27(木) 23:14:28.37ID:pq96CSzd ↓セパゾン錠2を100個追加
https://i.imgur.com/PgDSjOe.png
↓[データ]タブ→[すべて更新]押下
https://i.imgur.com/mSvw0XM.png
セパゾン錠2が155個になってる
カンペキ
https://i.imgur.com/PgDSjOe.png
↓[データ]タブ→[すべて更新]押下
https://i.imgur.com/mSvw0XM.png
セパゾン錠2が155個になってる
カンペキ
436デフォルトの名無しさん
2018/09/27(木) 23:23:57.47ID:MgIWwOWH437デフォルトの名無しさん
2018/09/27(木) 23:43:17.54ID:pq96CSzd 新規に作成したい場合
[データ]タブ → [その他のデータソース] → [Microsoft Query]
↓
Excel Files
↓
このファイル
↓
Sheet1$ > → 次へ → 次へ → 次へ → 。。。クエリの編集を行う → 完了
↓
SQL
↓
SELECT `Sheet1$`.YJコード, Sum(`Sheet1$`.前月末在庫数), Min(`Sheet1$`.前月末評価単価), Min(`Sheet1$`.薬品名), Min(`Sheet1$`.単位名), Min(`Sheet1$`.薬価), Min(`Sheet1$`.通常仕入れ先コード),
Min(`Sheet1$`.発注点), Min(`Sheet1$`.JANコード), Min(`Sheet1$`.棚番1), Min(`Sheet1$`.棚番2), Min(`Sheet1$`.枝番), Min(`Sheet1$`.包装名称), `Sheet1$`.有効期限, `Sheet1$`.ロット番号
FROM `ひみつ\サンプルデータ.xlsx`.`Sheet1$` `Sheet1$`
GROUP BY `Sheet1$`.YJコード, `Sheet1$`.有効期限, `Sheet1$`.ロット番号
↓
[ファイル] → Microsoft Office Excelにデータを返す
コレでイケル
一件落着
[データ]タブ → [その他のデータソース] → [Microsoft Query]
↓
Excel Files
↓
このファイル
↓
Sheet1$ > → 次へ → 次へ → 次へ → 。。。クエリの編集を行う → 完了
↓
SQL
↓
SELECT `Sheet1$`.YJコード, Sum(`Sheet1$`.前月末在庫数), Min(`Sheet1$`.前月末評価単価), Min(`Sheet1$`.薬品名), Min(`Sheet1$`.単位名), Min(`Sheet1$`.薬価), Min(`Sheet1$`.通常仕入れ先コード),
Min(`Sheet1$`.発注点), Min(`Sheet1$`.JANコード), Min(`Sheet1$`.棚番1), Min(`Sheet1$`.棚番2), Min(`Sheet1$`.枝番), Min(`Sheet1$`.包装名称), `Sheet1$`.有効期限, `Sheet1$`.ロット番号
FROM `ひみつ\サンプルデータ.xlsx`.`Sheet1$` `Sheet1$`
GROUP BY `Sheet1$`.YJコード, `Sheet1$`.有効期限, `Sheet1$`.ロット番号
↓
[ファイル] → Microsoft Office Excelにデータを返す
コレでイケル
一件落着
438デフォルトの名無しさん
2018/09/27(木) 23:56:33.07ID:MgIWwOWH >>437
ありがとー!
ありがとー!
439デフォルトの名無しさん
2018/09/27(木) 23:57:51.93ID:MgIWwOWH エクセルって自分自身をソースにしてSQL発行なんてできたのか・・・
凄すぎて泣けてきた。もっと早く知りたかったな
凄すぎて泣けてきた。もっと早く知りたかったな
440デフォルトの名無しさん
2018/09/28(金) 00:15:50.74ID:h9+2U6ZR441デフォルトの名無しさん
2018/09/28(金) 04:54:48.92ID:7Dx3JKmZ よくこんな馬鹿を相手にするな
442デフォルトの名無しさん
2018/09/28(金) 07:18:03.33ID:3N0zeARs 以上、無能の自己紹介でした
443デフォルトの名無しさん
2018/09/28(金) 09:03:04.35ID:zkBwEOAZ なんちゃってマップはどうなった
444デフォルトの名無しさん
2018/09/28(金) 18:29:54.42ID:AnMtzl3w >>442
悔しいか、屑
悔しいか、屑
445デフォルトの名無しさん
2018/09/28(金) 19:43:53.67ID:3N0zeARs446デフォルトの名無しさん
2018/09/28(金) 21:17:46.20ID:k5h2WtG4 やっぱりな
この板で役に立つレスは
オレしかしてない
この板で役に立つレスは
オレしかしてない
447デフォルトの名無しさん
2018/09/28(金) 21:26:48.63ID:mtesGZvP 天才様ドーナツ作って
448デフォルトの名無しさん
2018/09/28(金) 23:16:32.45ID:AJk9wJBe >>446
でもお前、VBAしか出来ないじゃん
でもお前、VBAしか出来ないじゃん
449デフォルトの名無しさん
2018/09/29(土) 16:35:28.06ID:V4hAUMop >>432
Excel2010じゃ動かないんですかね
Excel2010じゃ動かないんですかね
450デフォルトの名無しさん
2018/09/29(土) 17:27:14.21ID:IuTgmxg/ 1. サンプルデータ.xlsxをダウソ(>>426)
2. aho.dqyをダウソ(http://fast-uploader.com/file/7093764952195/)
3. aho.dqyをテキストエディタで開く
4. aho.dqyの【ひみつ】をサンプルデータ.xlsxがあるディレクトリフルパスに置換
5. aho.dqyをダブルクリック
コレでイケル
バカでもチョンでもイケル
>>432はExcel2010がダメなワケじゃない
知能が著しく低いヤツには動くようにはできない
2. aho.dqyをダウソ(http://fast-uploader.com/file/7093764952195/)
3. aho.dqyをテキストエディタで開く
4. aho.dqyの【ひみつ】をサンプルデータ.xlsxがあるディレクトリフルパスに置換
5. aho.dqyをダブルクリック
コレでイケル
バカでもチョンでもイケル
>>432はExcel2010がダメなワケじゃない
知能が著しく低いヤツには動くようにはできない
451デフォルトの名無しさん
2018/09/29(土) 20:04:17.86ID:m1u3SrFL だが気をつけて欲しい
Jet 4.0 は64bit版には対応していない
Jet 4.0 は64bit版には対応していない
452デフォルトの名無しさん
2018/09/29(土) 20:04:56.48ID:UGjn5ihf 久々に覗いたらなんじゃこりゃ・・・質問した人、理解できてるのか? これ。
まぁ理解できるならSQLでもいいだろうけどさ。
>>440
開業医んとこか薬局んとこか分からないけど・・・まぁその、お疲れ様。
とりあえず分からないようなら他の解決策もあるのでその旨言ってね。
まぁ理解できるならSQLでもいいだろうけどさ。
>>440
開業医んとこか薬局んとこか分からないけど・・・まぁその、お疲れ様。
とりあえず分からないようなら他の解決策もあるのでその旨言ってね。
453デフォルトの名無しさん
2018/09/29(土) 20:12:30.98ID:UGjn5ihf >>440
ついでに。
>元の在庫管理データっぽいの
数値であった方が良い部分が文字列として入力されてる。問題なければそのままで良いけど。
それより、有効期限とロットNo.が空欄の薬剤があるけど大丈夫? たぶんデータの取り出し方の問題か何かだと思うけど。
>SQL
作ってくれた人には申し訳ないけど、JANコードじゃなくてYJコードで集計しちゃってるので一応注意。
まぁどっちでも大して変わらないんだけど。
ついでに。
>元の在庫管理データっぽいの
数値であった方が良い部分が文字列として入力されてる。問題なければそのままで良いけど。
それより、有効期限とロットNo.が空欄の薬剤があるけど大丈夫? たぶんデータの取り出し方の問題か何かだと思うけど。
>SQL
作ってくれた人には申し訳ないけど、JANコードじゃなくてYJコードで集計しちゃってるので一応注意。
まぁどっちでも大して変わらないんだけど。
454デフォルトの名無しさん
2018/09/29(土) 23:48:20.58ID:IuTgmxg/ aho.dqyの抽出問合せを修正すれば(@〜Bの箇所を修正)すぐに修正できる
(修正前)
SELECT aho.YJコード, @
Sum(aho.前月末在庫数),
Min(aho.前月末評価単価),
Min(aho.薬品名),
Min(aho.単位名),
Min(aho.薬価),
Min(aho.通常仕入れ先コード),
Min(aho.発注点),
Min(aho.JANコード), A
Min(aho.棚番1),
Min(aho.棚番2),
Min(aho.枝番),
Min(aho.包装名称),
aho.有効期限,
aho.ロット番号
FROM
`【ひみつ】\サンプルデータ.xlsx`.`Sheet1$` aho
GROUP BY
aho.YJコード, B
aho.有効期限,
aho.ロット番号
(修正前)
SELECT aho.YJコード, @
Sum(aho.前月末在庫数),
Min(aho.前月末評価単価),
Min(aho.薬品名),
Min(aho.単位名),
Min(aho.薬価),
Min(aho.通常仕入れ先コード),
Min(aho.発注点),
Min(aho.JANコード), A
Min(aho.棚番1),
Min(aho.棚番2),
Min(aho.枝番),
Min(aho.包装名称),
aho.有効期限,
aho.ロット番号
FROM
`【ひみつ】\サンプルデータ.xlsx`.`Sheet1$` aho
GROUP BY
aho.YJコード, B
aho.有効期限,
aho.ロット番号
455デフォルトの名無しさん
2018/09/29(土) 23:50:30.45ID:IuTgmxg/(修正後)
SELECT Min(aho.YJコード), @
Sum(aho.前月末在庫数),
Min(aho.前月末評価単価),
Min(aho.薬品名),
Min(aho.単位名),
Min(aho.薬価),
Min(aho.通常仕入れ先コード),
Min(aho.発注点),
aho.JANコード, A
Min(aho.棚番1),
Min(aho.棚番2),
Min(aho.枝番),
Min(aho.包装名称),
aho.有効期限,
aho.ロット番号
FROM
`【ひみつ】\サンプルデータ.xlsx`.`Sheet1$` aho
GROUP BY
aho.JANコード, B
aho.有効期限,
aho.ロット番号
この修正で、どう集計されてるか理解できるハズ
456デフォルトの名無しさん
2018/09/30(日) 00:00:43.46ID:TbDeVj+o 自分には理解できていても質問者が理解できているかは別
457デフォルトの名無しさん
2018/09/30(日) 00:03:38.45ID:ItvcYfS7 >452
内容的にドラッグストアだと思う
ってか俺がドラッグストア勤務
内容的にドラッグストアだと思う
ってか俺がドラッグストア勤務
458デフォルトの名無しさん
2018/09/30(日) 14:48:48.37ID:I0OjYnSY459デフォルトの名無しさん
2018/09/30(日) 17:57:31.99ID:3+iEwgWt 作成依頼のVBAです。どなたかお願いします。
フィルタオプションを使ったVBAなのですが、上手い方法がないものか・・。
用意するシート
「総合商品情報」、「抽出条件」、「denpyou」「date」「tantou」「kata」「kazu」の7つを用意
総合商品情報のA1に「伝票No.」、B1に「日付」、C1に「担当」、D1に「型番」、E1に「数量」と記載され、
そして各項の2行目以降にデータが延々と羅列されている。
そこから特定の条件の情報を抽出したい。
条件はシート「抽出条件」にある。
シート「抽出条件」のA1〜E1は各項目の名前があり、
A2〜E2の条件で抽出したい。
A1=「伝票No.」 A2=「1001」
B1=「日付」 B2=「2018/1/1」
C1=「担当」 C2=「山田」
D1=「型番」 D2=「A-001」
E1=「数量」 E2=「1」
抽出条件が伝票No.「1001」で抽出したデータはシート「denpyou」のA1に抽出
日付「2018/1/1」で抽出したデータはシート「date」のA1に抽出
担当「山田」で抽出したデータはシート「tantou」のA1に抽出
型番「A-001」で抽出したデータはシート「kata」のA1に抽出
数量「1」で抽出したデータはシート「kazu」のA1に抽出する。
ただし、抽出条件に記載があっても、総合商品情報には記載がない場合もある。
(※例えば、抽出条件「山田」が総合商品情報のC列にはないとか)
その場合はエラーを無視して、他のシートの抽出を実行して欲しい。
※分かりにくい説明かもしれませんが、よろしくお願いします。
フィルタオプションを使ったVBAなのですが、上手い方法がないものか・・。
用意するシート
「総合商品情報」、「抽出条件」、「denpyou」「date」「tantou」「kata」「kazu」の7つを用意
総合商品情報のA1に「伝票No.」、B1に「日付」、C1に「担当」、D1に「型番」、E1に「数量」と記載され、
そして各項の2行目以降にデータが延々と羅列されている。
そこから特定の条件の情報を抽出したい。
条件はシート「抽出条件」にある。
シート「抽出条件」のA1〜E1は各項目の名前があり、
A2〜E2の条件で抽出したい。
A1=「伝票No.」 A2=「1001」
B1=「日付」 B2=「2018/1/1」
C1=「担当」 C2=「山田」
D1=「型番」 D2=「A-001」
E1=「数量」 E2=「1」
抽出条件が伝票No.「1001」で抽出したデータはシート「denpyou」のA1に抽出
日付「2018/1/1」で抽出したデータはシート「date」のA1に抽出
担当「山田」で抽出したデータはシート「tantou」のA1に抽出
型番「A-001」で抽出したデータはシート「kata」のA1に抽出
数量「1」で抽出したデータはシート「kazu」のA1に抽出する。
ただし、抽出条件に記載があっても、総合商品情報には記載がない場合もある。
(※例えば、抽出条件「山田」が総合商品情報のC列にはないとか)
その場合はエラーを無視して、他のシートの抽出を実行して欲しい。
※分かりにくい説明かもしれませんが、よろしくお願いします。
460デフォルトの名無しさん
2018/09/30(日) 18:03:15.18ID:FLQTI8+6 SQL発行すれば何とかなると思う
461デフォルトの名無しさん
2018/09/30(日) 18:16:07.23ID:hh5CI8rl VBAなんか使わなくても普通にVLOOKUPで一瞬でできるな
462デフォルトの名無しさん
2018/09/30(日) 23:25:01.00ID:BlMeh26g それ、作ってもらったとして、自分でメンテできます?
463デフォルトの名無しさん
2018/09/30(日) 23:39:46.62ID:ItvcYfS7 vlookupと作業列でいいんじゃねって思ってしまう
464デフォルトの名無しさん
2018/09/30(日) 23:40:53.09ID:aYXyCrkn ああ
オレなら余裕でサクッとできるわあ
キミラ低能にコレできる?
VLOOKUPでは行は1行しかとれない
少なくともコレではできない
オレなら余裕でサクッとできるわあ
キミラ低能にコレできる?
VLOOKUPでは行は1行しかとれない
少なくともコレではできない
465デフォルトの名無しさん
2018/09/30(日) 23:47:05.68ID:ItvcYfS7466デフォルトの名無しさん
2018/09/30(日) 23:49:34.63ID:ItvcYfS7467デフォルトの名無しさん
2018/09/30(日) 23:56:56.43ID:aYXyCrkn でた、vbaしかできない低学歴知恵遅れITドカタふがいきってる
468デフォルトの名無しさん
2018/10/01(月) 00:00:41.84ID:zfKNS/F/ で、低学歴知恵遅れは
どこにVLOOKUP使ったの?
ん? いってみ?
どこにVLOOKUP使ったの?
ん? いってみ?
469デフォルトの名無しさん
2018/10/01(月) 06:39:47.60ID:MCBRDKcK >>468
本気で言ってるのか?
本気で言ってるのか?
470デフォルトの名無しさん
2018/10/01(月) 07:49:25.42ID:u6gUPL8M sortについての質問です
レコードがあって、並び替えの基準列が例えば
0
4
1
0
5
となってたとします。これを
0
0
4
1
5
に並び替えたいのです。要は特定の値とそれ以外に分離させたいんです。
現状は行の下からループを回して、特定の値ではないならば行をカットして一番下に挿入するというコードなのですが遅いです。
なにかいい方法はないでしょうか
レコードがあって、並び替えの基準列が例えば
0
4
1
0
5
となってたとします。これを
0
0
4
1
5
に並び替えたいのです。要は特定の値とそれ以外に分離させたいんです。
現状は行の下からループを回して、特定の値ではないならば行をカットして一番下に挿入するというコードなのですが遅いです。
なにかいい方法はないでしょうか
471デフォルトの名無しさん
2018/10/01(月) 08:05:44.31ID:K7Kh8NR/ >>470
すべて配列に突っ込んで、配列上で並べかえてから書き換え
すべて配列に突っ込んで、配列上で並べかえてから書き換え
472デフォルトの名無しさん
2018/10/01(月) 08:06:55.02ID:PpuAKpxM473デフォルトの名無しさん
2018/10/01(月) 08:13:41.55ID:IH0VbElQ474デフォルトの名無しさん
2018/10/01(月) 08:25:33.53ID:iFb8zFFH countifと組み合せればできるよ
>>470もそうだけど、このスレ見てるとすぐVBA使いたがる人ってちょっと頭が残念なだけなのかなと思っちゃうね
>>470もそうだけど、このスレ見てるとすぐVBA使いたがる人ってちょっと頭が残念なだけなのかなと思っちゃうね
475デフォルトの名無しさん
2018/10/01(月) 09:15:58.47ID:oBEcQ0XA そらVBAの質問スレやしな。エクセル標準機能でもいいならエクセル質問板いくやろ
476デフォルトの名無しさん
2018/10/01(月) 10:03:52.20ID:H4/VTF+j 質問する方はね。
回答する方はVBAでやるべきかどうかと考えないのか。
回答する方はVBAでやるべきかどうかと考えないのか。
477デフォルトの名無しさん
2018/10/01(月) 10:46:30.51ID:bOC85JQ9478デフォルトの名無しさん
2018/10/01(月) 11:36:11.29ID:oBEcQ0XA >>476
質問する方は関数で出来るのを承知でVBAの答えを求めていると考えてVBAでしか答えないというスタンスもある。別に関数や操作で出来ることを教えてあげる点については異論はない。そういう答え方をしたい人がそう伝えればいい
質問する方は関数で出来るのを承知でVBAの答えを求めていると考えてVBAでしか答えないというスタンスもある。別に関数や操作で出来ることを教えてあげる点については異論はない。そういう答え方をしたい人がそう伝えればいい
479デフォルトの名無しさん
2018/10/01(月) 17:34:28.00ID:x1tycYY6 マクロってむかし使ったとき選択セルを基準に動いてた気がしたんだけど
今のパソコンでは違う場所で使おうとしても記憶した場所でしか動かなくなったけど
今のパソコンでは違う場所で使おうとしても記憶した場所でしか動かなくなったけど
480デフォルトの名無しさん
2018/10/01(月) 17:40:54.99ID:x1tycYY6 (選択セルでショートカットキーを押すとセルの中心にチェックボックスを作るようにしたいんだけど
(長いプログラムは無しで)
(長いプログラムは無しで)
481デフォルトの名無しさん
2018/10/01(月) 19:04:58.48ID:Rpti6CxP 初心者だけど、仕事でどうしても必要で試行錯誤中なのだが…
例えばなんだけど
@IEを起動して指摘のURLに飛ぶ→A管理者ユーザーでログイン→
Bユーザー情報検索のページに飛ぶ→Cプルダウンでユーザーの種別を選択→
Dユーザー名をフォームに転記→E検索ボタン押す→Fユーザーデータが表の形式で表示され、ある行をラジオボタンがあるので選択→
G決定ボタン押す→Hページ内のリンクをクリック→Iページ内のリンクをクリック→
J表示された文字列をコピーしてエクセルに出力
なんてことできるの?
説明がわかりにくくて申し訳ない。
@からBまではできたんだが…Cからができるか不安だ。
どうにかBを応用して繋げていけばできるんじゃないかと思っているのだが、これをユーザー分取得するという繰り返しをするとなると、全くイメージ出来ない。
自分でもイメージ出来ていないのに聞くのも難だが、流石に実現不可能かな?
例えばなんだけど
@IEを起動して指摘のURLに飛ぶ→A管理者ユーザーでログイン→
Bユーザー情報検索のページに飛ぶ→Cプルダウンでユーザーの種別を選択→
Dユーザー名をフォームに転記→E検索ボタン押す→Fユーザーデータが表の形式で表示され、ある行をラジオボタンがあるので選択→
G決定ボタン押す→Hページ内のリンクをクリック→Iページ内のリンクをクリック→
J表示された文字列をコピーしてエクセルに出力
なんてことできるの?
説明がわかりにくくて申し訳ない。
@からBまではできたんだが…Cからができるか不安だ。
どうにかBを応用して繋げていけばできるんじゃないかと思っているのだが、これをユーザー分取得するという繰り返しをするとなると、全くイメージ出来ない。
自分でもイメージ出来ていないのに聞くのも難だが、流石に実現不可能かな?
482デフォルトの名無しさん
2018/10/01(月) 19:07:07.36ID:cKKUS3dy >>481
出来る出来ないの返答を求めているようなのでそれだけ答えると「出来る」
出来る出来ないの返答を求めているようなのでそれだけ答えると「出来る」
483デフォルトの名無しさん
2018/10/01(月) 19:14:45.76ID:+ysO9sf2 >>481
あえてvbaとieを使う理由はないけどまあ出来るよ
あえてvbaとieを使う理由はないけどまあ出来るよ
484デフォルトの名無しさん
2018/10/01(月) 19:14:53.78ID:DnKjEw0R Aのフォームの操作ができてるならあとは全部Aの繰り返しだからもう少し頑張れ
485デフォルトの名無しさん
2018/10/01(月) 19:24:39.53ID:d7lQtBIe486デフォルトの名無しさん
2018/10/01(月) 19:25:25.93ID:d7lQtBIe >>483
vbaとieに拘りはないですが、導入が簡単そうだったので…
vbaとieに拘りはないですが、導入が簡単そうだったので…
487デフォルトの名無しさん
2018/10/01(月) 19:26:16.86ID:Zp0cocQA 質問者じゃないけど2とか3とかはどうやってやるの
488デフォルトの名無しさん
2018/10/01(月) 19:33:41.96ID:d7lQtBIe >>487
申し訳ない。Aは自動ログイン設定というか、IEの機能でidとpassをオートフィルしてくれる機能あるから、わざわざログイン情報を入力せずに、そのまま決定ボタンをクリックするようなコマンド?を記載したよ。
Bはその文字に埋め込まれたリンクを、htmlで探して指定した。
Aが苦労したな…javascript:loginとかいうので、どうやったら良いのかわからなかったけど、その頭にあるinputがページで何番目なのか数えて、4番目だったから4番目のinputをクリックしてね!って文を書いたら移動できた!
申し訳ない。Aは自動ログイン設定というか、IEの機能でidとpassをオートフィルしてくれる機能あるから、わざわざログイン情報を入力せずに、そのまま決定ボタンをクリックするようなコマンド?を記載したよ。
Bはその文字に埋め込まれたリンクを、htmlで探して指定した。
Aが苦労したな…javascript:loginとかいうので、どうやったら良いのかわからなかったけど、その頭にあるinputがページで何番目なのか数えて、4番目だったから4番目のinputをクリックしてね!って文を書いたら移動できた!
489デフォルトの名無しさん
2018/10/01(月) 19:45:57.55ID:MCBRDKcK490デフォルトの名無しさん
2018/10/01(月) 19:47:37.81ID:MCBRDKcK491デフォルトの名無しさん
2018/10/01(月) 20:52:16.85ID:lLn/Vvr8 RPA使えよ
仕事なら買ってもらえるだろ
仕事なら買ってもらえるだろ
492デフォルトの名無しさん
2018/10/01(月) 21:35:57.95ID:d7lQtBIe493デフォルトの名無しさん
2018/10/01(月) 21:36:29.14ID:d7lQtBIe >>490
iMacrosってやつ?試しに使ってみようと思う!
iMacrosってやつ?試しに使ってみようと思う!
494デフォルトの名無しさん
2018/10/01(月) 23:54:06.64ID:zfKNS/F/ vlookupなんか
どこにも見当たらない
オツムだけじゃなくて目も悪いの?
どこにも見当たらない
オツムだけじゃなくて目も悪いの?
495デフォルトの名無しさん
2018/10/02(火) 02:04:29.98ID:/QfTYNRi >>481
Seleniumデザインパターン&ベストプラクティス、2015、オライリー
この本は、Ruby で、Selenium WebDriver を使って、ウェブサイトを自動テストする本だけど、
まさにこういう事を、Rubyでプログラミングする
どのページ(URL)へ飛んで、入力フォームに入力して認証して、
買う商品を選んで、カートに入れて、決済する
まさに、Ruby・Selenium WebDriver が定番
簡単なものなら、iMacros, Selenium IDE で出来るかも
Seleniumデザインパターン&ベストプラクティス、2015、オライリー
この本は、Ruby で、Selenium WebDriver を使って、ウェブサイトを自動テストする本だけど、
まさにこういう事を、Rubyでプログラミングする
どのページ(URL)へ飛んで、入力フォームに入力して認証して、
買う商品を選んで、カートに入れて、決済する
まさに、Ruby・Selenium WebDriver が定番
簡単なものなら、iMacros, Selenium IDE で出来るかも
496デフォルトの名無しさん
2018/10/02(火) 05:27:11.42ID:uy7vLCLd >>489
普通におけるけど。
普通におけるけど。
497デフォルトの名無しさん
2018/10/02(火) 06:36:08.43ID:tR2WmwNe >>495
rubyとselenium webdriverか。こちらも試してみます!ありがとうございます。
rubyとselenium webdriverか。こちらも試してみます!ありがとうございます。
498495
2018/10/02(火) 07:13:32.60ID:/QfTYNRi 結局、ウェブページの自動テストツールを数年やってきた人たちは、次の2つにたどり着く
プログラマーは、Ruby で、Selenium WebDriver、
非プログラマーは、iMacros, Selenium IDE
漏れなんて、自分のPC 内の画像フォルダの画像でさえ、
Ruby・Selenium WebDriverでプログラミングして、ブラウザで見てる
HTML のimg タグに、画像のパスを設定して、ブラウザに表示させている
プログラマーは、Ruby で、Selenium WebDriver、
非プログラマーは、iMacros, Selenium IDE
漏れなんて、自分のPC 内の画像フォルダの画像でさえ、
Ruby・Selenium WebDriverでプログラミングして、ブラウザで見てる
HTML のimg タグに、画像のパスを設定して、ブラウザに表示させている
499デフォルトの名無しさん
2018/10/02(火) 07:17:00.46ID:3rK24ppg500デフォルトの名無しさん
2018/10/02(火) 07:21:20.23ID:XHPfCFYq またマッチポンプに引っかかってるのか?
頭悪すぎだろ
頭悪すぎだろ
501デフォルトの名無しさん
2018/10/02(火) 07:23:48.60ID:3rK24ppg いや、タダのボケだろ
ちょっとおもしろかったわ
ちょっとおもしろかったわ
502デフォルトの名無しさん
2018/10/02(火) 07:39:42.84ID:N1aQvONc 頭が悪いのを誤魔化そうとしても意味なくね?
503デフォルトの名無しさん
2018/10/02(火) 07:42:08.16ID:ahHfhE5m504495
2018/10/02(火) 09:00:24.92ID:/QfTYNRi Seleniumデザインパターン&ベストプラクティス、2015、オライリー
この本の著者がこう言ってる
最初は、ウェブページの自動テストを、Selenium IDE でやっていたけど、
大量の自動テストをこなすために、Ruby・Selenium WebDriver でプログラミングするようになった
これは、誰もがたどる道
この本の著者がこう言ってる
最初は、ウェブページの自動テストを、Selenium IDE でやっていたけど、
大量の自動テストをこなすために、Ruby・Selenium WebDriver でプログラミングするようになった
これは、誰もがたどる道
505デフォルトの名無しさん
2018/10/02(火) 09:10:32.38ID:fUFII8R1 別にVBAでも簡単だけどな。
既にVBAでRPAもどきを作ってある。
既にVBAでRPAもどきを作ってある。
506デフォルトの名無しさん
2018/10/02(火) 09:35:53.30ID:IHboiu3Y マッチポンプに掛かった間抜けがいるスレはここですか?
507デフォルトの名無しさん
2018/10/02(火) 10:09:51.02ID:IdpLKWF1 SikuliXおすすめ
適当なスクレイピングでよくてHTML解析する情熱が無くなった場合に使ってる
適当なスクレイピングでよくてHTML解析する情熱が無くなった場合に使ってる
508デフォルトの名無しさん
2018/10/02(火) 12:19:33.62ID:gUUCeKXU509デフォルトの名無しさん
2018/10/02(火) 12:33:06.04ID:1IC/OUbd Selenium全く必要ないっていう
510デフォルトの名無しさん
2018/10/02(火) 17:44:52.64ID:rk1+4NE+ >>505
技術的負債
技術的負債
511デフォルトの名無しさん
2018/10/02(火) 18:18:59.44ID:giBEQZ0B どうせ誰にもメンテできないんだから問題ない
返済されることのない借金は負債ではない
返済されることのない借金は負債ではない
512デフォルトの名無しさん
2018/10/02(火) 18:53:37.03ID:rk1+4NE+ 技術的負債はSIerに押し付ければいいのよ
事務員は保守性など気にせずクソでも動けばいいのでとにかく作る
プログラマを企業間のパワー差を活かして発給で雇いこき使ってメンテさせる
これがVBAerの正しいあり方だ
事務員は保守性など気にせずクソでも動けばいいのでとにかく作る
プログラマを企業間のパワー差を活かして発給で雇いこき使ってメンテさせる
これがVBAerの正しいあり方だ
513デフォルトの名無しさん
2018/10/02(火) 19:07:53.02ID:qyY5wEk7514デフォルトの名無しさん
2018/10/02(火) 19:32:27.30ID:V/qNOCI+ バリアント型変数にrangeを代入すると処理時間短縮になるというが、今いち実感が湧かない。
INPUTのテキストファイルの中身次第で出力するセル範囲が変わるんだが、
想定される最大のセル範囲をrangeに代入するよりは、セルひとつひとつにアクセスして最小限の範囲で出力したほうが処理時間早いんじゃないか…
INPUTのテキストファイルの中身次第で出力するセル範囲が変わるんだが、
想定される最大のセル範囲をrangeに代入するよりは、セルひとつひとつにアクセスして最小限の範囲で出力したほうが処理時間早いんじゃないか…
515デフォルトの名無しさん
2018/10/02(火) 19:33:46.34ID:JlZ/oy05 VBAでシステム組んでる企業は今はほとんどないのでは?
個人がちょっとしたマクロを書くぐらい
個人がちょっとしたマクロを書くぐらい
516デフォルトの名無しさん
2018/10/02(火) 19:48:52.17ID:eaArETqj ニートのプロさんは少しお口にチャックねw
517デフォルトの名無しさん
2018/10/02(火) 19:56:57.36ID:VwRcsjE4518デフォルトの名無しさん
2018/10/02(火) 20:18:38.93ID:JlZ/oy05 セキュリティ意識に欠けるね
マクロが禁止されるわけだ
マクロが禁止されるわけだ
519デフォルトの名無しさん
2018/10/02(火) 20:34:11.46ID:t6BWNYue >>514
出力に必要な行列の数だけ要素数を指定して適切なサイズの配列を使うようにすればいいじゃん
複数セル値の逐次更新は更新するセルの個数分だけプロパティ関数が実行されてイベント処理が走るので、同じセル数を更新する場合で比較すると配列による一括処理と比べて格段に重いよ
出力に必要な行列の数だけ要素数を指定して適切なサイズの配列を使うようにすればいいじゃん
複数セル値の逐次更新は更新するセルの個数分だけプロパティ関数が実行されてイベント処理が走るので、同じセル数を更新する場合で比較すると配列による一括処理と比べて格段に重いよ
520デフォルトの名無しさん
2018/10/02(火) 21:04:30.03ID:GLlKH6rT >>519
返答ありがとう。
INPUTのデータ次第で1行〜9999行目まで出力されるので、現状9999行までのセルを配列に格納している。
ちょいと処理時間を計測してみたんだが
出力件数によっては、
例えば200件程度だったときの場合、セルに都度アクセスしたほうが早かったのよね。
実行する度に、INPUTのデータ量次第で配列に格納する範囲が変えられると便利なのだが、それがわからないため9999行まで格納してるって感じかな
返答ありがとう。
INPUTのデータ次第で1行〜9999行目まで出力されるので、現状9999行までのセルを配列に格納している。
ちょいと処理時間を計測してみたんだが
出力件数によっては、
例えば200件程度だったときの場合、セルに都度アクセスしたほうが早かったのよね。
実行する度に、INPUTのデータ量次第で配列に格納する範囲が変えられると便利なのだが、それがわからないため9999行まで格納してるって感じかな
521デフォルトの名無しさん
2018/10/02(火) 21:09:51.81ID:R8M7QKDK http://fast-uploader.com/file/7094037561899/
バカが作ったのはまったく使い物にならないから
オレのを使いなさい
ダウソした
総合商品情報.xlsx
を
c:\tmp
に入れればとりあえず動く
保存する場所やファイル名変えたならSQLに入ってるパス変更すれば
とりあえず動く
バカが作ったのはまったく使い物にならないから
オレのを使いなさい
ダウソした
総合商品情報.xlsx
を
c:\tmp
に入れればとりあえず動く
保存する場所やファイル名変えたならSQLに入ってるパス変更すれば
とりあえず動く
522デフォルトの名無しさん
2018/10/02(火) 22:36:58.97ID:ZVIK4UcY PCから投稿したのが繁栄してないかもしれないので…
↓↓↓↓
社内のデータ加工で困っています。
VBAじゃないかもしれないのですが、
賢い方々助けてください。
やりたいことや実際のデータは下記URLにUPしています。
よろしくお願いします!
http://fast-uploader.com/file/7094034688478/
用意できる環境に書いてある「Microsoft Office 2016」は「Excel」を意味しています。
↓↓↓↓
社内のデータ加工で困っています。
VBAじゃないかもしれないのですが、
賢い方々助けてください。
やりたいことや実際のデータは下記URLにUPしています。
よろしくお願いします!
http://fast-uploader.com/file/7094034688478/
用意できる環境に書いてある「Microsoft Office 2016」は「Excel」を意味しています。
523デフォルトの名無しさん
2018/10/02(火) 22:50:57.49ID:t6BWNYue >>520
INPUTがどのような形でコードに渡されるか分からないが、例えばテキストデータを読み込んでいるなら、行数をeofになるまで数えて変数に代入して、その変数で配列要素数を指定すれば簡単だと思う
INPUTがどのような形でコードに渡されるか分からないが、例えばテキストデータを読み込んでいるなら、行数をeofになるまで数えて変数に代入して、その変数で配列要素数を指定すれば簡単だと思う
524デフォルトの名無しさん
2018/10/02(火) 23:02:37.82ID:uetVBQBr >>520
3回以上セルにアクセスするなら確実に配列に取り込んだほうが早い。
体感出来ないのはコードが完全に最適化出来てないだけ。
あと数式の埋め込まれたセルがあったりするとあり得ないくらい遅くなる。
(ある程度はスイッチで解消できるけど)
あとInputはめちゃくちゃ遅いよ。
バイナリモードで開いて一括読み込みがオススメ。
http://tetsucom.blogspot.com/2011/03/vba_9799.html
このサイトでは数倍しか差がついてないけど、元データの行数が増えるほどInputと差が開く
3回以上セルにアクセスするなら確実に配列に取り込んだほうが早い。
体感出来ないのはコードが完全に最適化出来てないだけ。
あと数式の埋め込まれたセルがあったりするとあり得ないくらい遅くなる。
(ある程度はスイッチで解消できるけど)
あとInputはめちゃくちゃ遅いよ。
バイナリモードで開いて一括読み込みがオススメ。
http://tetsucom.blogspot.com/2011/03/vba_9799.html
このサイトでは数倍しか差がついてないけど、元データの行数が増えるほどInputと差が開く
525デフォルトの名無しさん
2018/10/02(火) 23:48:15.72ID:VE+AbZ0A >>522
アップロードしたファイルに店名が含まれているんだが大丈夫か・・・
アップロードしたファイルに店名が含まれているんだが大丈夫か・・・
526デフォルトの名無しさん
2018/10/02(火) 23:53:53.97ID:GLlKH6rT 皆さん助言ありがとう。
処理のイメージとしては、1行ずつ読み込んで色々判定した後、1行ずつ出力していく感じです。
頂いた助言を試してみて、
事前にeofまでのループ処理で変数をカウントアップさせて、必要な行数を配列に格納させることはできました。
バイナリモードの件と合わせて、パフォーマンスの向上を目指しますm(_ _)m
処理のイメージとしては、1行ずつ読み込んで色々判定した後、1行ずつ出力していく感じです。
頂いた助言を試してみて、
事前にeofまでのループ処理で変数をカウントアップさせて、必要な行数を配列に格納させることはできました。
バイナリモードの件と合わせて、パフォーマンスの向上を目指しますm(_ _)m
527デフォルトの名無しさん
2018/10/02(火) 23:57:35.54ID:VE+AbZ0A528デフォルトの名無しさん
2018/10/03(水) 00:52:56.81ID:Ijm6Q0Hp >>525
気がつきませんでしたが、ダミーデータなので大丈夫です
気がつきませんでしたが、ダミーデータなので大丈夫です
529デフォルトの名無しさん
2018/10/03(水) 12:30:49.51ID:Ju5BAQ2L >>526
1行ずつ出力じゃあまり恩恵無いかもしれないけどまとまって出力すれば劇的な変化がある。
Dim i As Long
Dim j As Long
Dim varRng() As Variant
Dim t As Single
t = Timer
For i = 1 To 50000
For j = 1 To 50
Cells( i, j ).Value = i + j
Next j
Next i
Debug.Print Timer - t
t = Timer
Redim varRng( 1 To 50000, 1 To 50 ) As Variant
For i = 1 To 50000
For j = 1 To 50
varRng( i, j )= i + j
Next j
Next i
Range(A1:AX50000).Value = varRng
Debug.Print Timer - t
1行ずつ出力じゃあまり恩恵無いかもしれないけどまとまって出力すれば劇的な変化がある。
Dim i As Long
Dim j As Long
Dim varRng() As Variant
Dim t As Single
t = Timer
For i = 1 To 50000
For j = 1 To 50
Cells( i, j ).Value = i + j
Next j
Next i
Debug.Print Timer - t
t = Timer
Redim varRng( 1 To 50000, 1 To 50 ) As Variant
For i = 1 To 50000
For j = 1 To 50
varRng( i, j )= i + j
Next j
Next i
Range(A1:AX50000).Value = varRng
Debug.Print Timer - t
530デフォルトの名無しさん
2018/10/03(水) 16:42:01.11ID:uB4nYmn5 実践的に練習用の課題を解いていけて、段階的にスキルアップできるサイトないですか?
531デフォルトの名無しさん
2018/10/03(水) 21:13:21.04ID:4mO7hAaA Range(1,1).Value = 1-1
これをやると、1月1日にExcelが日付と解釈して変換する。
これを防ぐにはどうしたらいいですか。
文字列として格納するために""で囲むという手があるがそれをやりたくない。
理由は値(1-1)に加工していじってるから。
ちなみに、1-1は番地のつもりです。
これをやると、1月1日にExcelが日付と解釈して変換する。
これを防ぐにはどうしたらいいですか。
文字列として格納するために""で囲むという手があるがそれをやりたくない。
理由は値(1-1)に加工していじってるから。
ちなみに、1-1は番地のつもりです。
532デフォルトの名無しさん
2018/10/03(水) 21:37:41.99ID:B0/YTPvH533デフォルトの名無しさん
2018/10/03(水) 21:58:23.71ID:siQNEaWd534デフォルトの名無しさん
2018/10/03(水) 22:24:31.18ID:IRo5OOwi 1件だけなら 「Range(1, 1) = "'1-1"」でもいいかもしれんが、沢山あるようなら配列を使って一発代入するかな。
535デフォルトの名無しさん
2018/10/03(水) 22:37:26.98ID:cOBWyVpF536デフォルトの名無しさん
2018/10/03(水) 23:48:07.24ID:FigU8Mbj Cells(Rows.Count, 1).End(xlUp).Row
これだとhiddenで隠れている行は無視されてしまいます
あくまでも最後に入力されている行を取得したい場合はどうすればいい?
もちろんhiddenを一時的に表示にする以外方法で
隠れていてもデータ行として扱う方法
これだとhiddenで隠れている行は無視されてしまいます
あくまでも最後に入力されている行を取得したい場合はどうすればいい?
もちろんhiddenを一時的に表示にする以外方法で
隠れていてもデータ行として扱う方法
537デフォルトの名無しさん
2018/10/03(水) 23:54:17.02ID:7gIy/TEB ↓ココに操作手順がおいた
http://fast-uploader.com/file/7094133678468/
[SQLの編集]タブに編集の仕方が載ってる(denpyouを例にしてるが、編集の仕方は他も同じ)
※ vbaじゃないからな、コードはない
※ ちなみにデータとデータの抽出結果を出力するブックは別でも問題ない
新規に自分で作成したい場合は
>>437 ← コレ
を参考にしなさい
http://fast-uploader.com/file/7094133678468/
[SQLの編集]タブに編集の仕方が載ってる(denpyouを例にしてるが、編集の仕方は他も同じ)
※ vbaじゃないからな、コードはない
※ ちなみにデータとデータの抽出結果を出力するブックは別でも問題ない
新規に自分で作成したい場合は
>>437 ← コレ
を参考にしなさい
538デフォルトの名無しさん
2018/10/04(木) 00:51:18.54ID:FEHQanR0 半角先生口は悪いけど割と優しいからすき
539デフォルトの名無しさん
2018/10/04(木) 00:55:39.43ID:X6BA3+Oo VBAの実行環境をDockerizeする方法を教えてください
540デフォルトの名無しさん
2018/10/04(木) 07:43:14.54ID:tsjyo4iv >>536
used range使えば?最終行取得でググれ
used range使えば?最終行取得でググれ
541デフォルトの名無しさん
2018/10/04(木) 09:11:12.18ID:ZcbeCQ3S UsedRangeはプロパティに変更が加えられたセルを全てカウントアップするから物凄く癖がある
うっかり列範囲全体に書式設定なんかしてると最終行は1,048,576行目なんてことになるので注意
うっかり列範囲全体に書式設定なんかしてると最終行は1,048,576行目なんてことになるので注意
542デフォルトの名無しさん
2018/10/04(木) 12:04:05.58ID:x9VzQgv/ >>541
列に対しての書式設定ならそんな風にはならない。
貼り付けするとそうなる危険性はあるけど、今のエクセルは警告出るし、実行に時間かかるし、めちゃくちゃ重たくなるから、マクロ以前にブック修復すべき案件
列に対しての書式設定ならそんな風にはならない。
貼り付けするとそうなる危険性はあるけど、今のエクセルは警告出るし、実行に時間かかるし、めちゃくちゃ重たくなるから、マクロ以前にブック修復すべき案件
543デフォルトの名無しさん
2018/10/04(木) 13:15:55.34ID:Vut2i4+m Do loop関数でウェブ上の変数を取り込んでセルに表示したいんですが、セルA1に最新の変数を表示し、一つ過去のは真下セルに移動する
これを繰り返して変数をA列に積み上げいくようにしたいんですが、どうすればよいでしょうか
これを繰り返して変数をA列に積み上げいくようにしたいんですが、どうすればよいでしょうか
544デフォルトの名無しさん
2018/10/04(木) 13:37:33.14ID:Vut2i4+m 挿入でできました 失礼しました
545デフォルトの名無しさん
2018/10/04(木) 14:40:06.72ID:Vut2i4+m Selenium Webdriverについて質問です。
@chromeを起動
Aあるwebサイトのユーザーページにログイン
Bユーザーページ上で作業
という操作を自動化しようとしています。
@、Aは良いのですがBが複雑なため、その部分のコードで試行錯誤しております。
しかしコードを修正するたびに@から行っているため時間がかかっております。
@Aで起動したブラウザを利用して、Bから別のsubプロシージャにして、Bだけ実行して検証したいのですがどのようにすればよいのでしょうか。
下が@Aのコードです。
sub 1()
Dim driver As New SeleniumWrapper.WebDriver
driver.Start "chrome", "https://aaa.com/login?"
driver.get ("/")
driver.findElementByName("UserID").SendKeys ("yamada")
driver.findElementByName("pass_word").SendKeys ("1234")
@chromeを起動
Aあるwebサイトのユーザーページにログイン
Bユーザーページ上で作業
という操作を自動化しようとしています。
@、Aは良いのですがBが複雑なため、その部分のコードで試行錯誤しております。
しかしコードを修正するたびに@から行っているため時間がかかっております。
@Aで起動したブラウザを利用して、Bから別のsubプロシージャにして、Bだけ実行して検証したいのですがどのようにすればよいのでしょうか。
下が@Aのコードです。
sub 1()
Dim driver As New SeleniumWrapper.WebDriver
driver.Start "chrome", "https://aaa.com/login?"
driver.get ("/")
driver.findElementByName("UserID").SendKeys ("yamada")
driver.findElementByName("pass_word").SendKeys ("1234")
546デフォルトの名無しさん
2018/10/04(木) 17:50:31.63ID:ImPAYWBj Private driver As SeleniumWrapper.WebDriver
Sub Init()
@
A
End Sub
Sub Work()
driver.get(ユーザーページ)
B
End Sub
他のスクリプト言語に変えたほうが楽ですよ
Sub Init()
@
A
End Sub
Sub Work()
driver.get(ユーザーページ)
B
End Sub
他のスクリプト言語に変えたほうが楽ですよ
547デフォルトの名無しさん
2018/10/04(木) 18:15:13.64ID:Vut2i4+m >>546
ありがとうございます。
やってみたのですが、getメソッドでSystem.NullReferenceExceptionというエラーが出ます.....
他のスクリプト言語というとRubyということになるのでしょうか?
ありがとうございます。
やってみたのですが、getメソッドでSystem.NullReferenceExceptionというエラーが出ます.....
他のスクリプト言語というとRubyということになるのでしょうか?
548デフォルトの名無しさん
2018/10/04(木) 18:36:18.81ID:/wVNZxwJ >>547
driverを初期化してないからだと思うぞ。
driverを初期化してないからだと思うぞ。
549デフォルトの名無しさん
2018/10/04(木) 18:46:00.60ID:Vut2i4+m550デフォルトの名無しさん
2018/10/04(木) 19:13:03.15ID:/wVNZxwJ >>549
Private driver As SeleniumWrapper.WebDriver ←モジュール領域(各プロシージャの更に上位)でdriverを定義。ただし初期化していない。
Sub Init() ←Initプロシージャを実行する時にdriverを初期化し@・Aを実行する必要がある
Set driver = New SeleniumWrapper.WebDriver ←ココ
@
A
End Sub
Sub Work() ←Initプロシージャを実行してからWorkプロシージャを実行すると、色々(B)を実行してくれる
driver.get(ユーザーページ)
B
End Sub
念のため言っとくと俺は>>546じゃないがついでに解説しただけで、
>>545が求めているものがこれで満たせるのかまでは関知しない。
Private driver As SeleniumWrapper.WebDriver ←モジュール領域(各プロシージャの更に上位)でdriverを定義。ただし初期化していない。
Sub Init() ←Initプロシージャを実行する時にdriverを初期化し@・Aを実行する必要がある
Set driver = New SeleniumWrapper.WebDriver ←ココ
@
A
End Sub
Sub Work() ←Initプロシージャを実行してからWorkプロシージャを実行すると、色々(B)を実行してくれる
driver.get(ユーザーページ)
B
End Sub
念のため言っとくと俺は>>546じゃないがついでに解説しただけで、
>>545が求めているものがこれで満たせるのかまでは関知しない。
551デフォルトの名無しさん
2018/10/04(木) 19:25:04.84ID:USJCeaSx 質問いいですか?
VBAでコールバックを行うとき
クラスが対象の場合はCallByNameで行う事が出来ますが
標準モジュールの場合、どうするんでしたっけ?
確かAPIを使った様な気がしたんですが
どのAPIを使ってどうするのか
忘れてしまいました。
VBAでコールバックを行うとき
クラスが対象の場合はCallByNameで行う事が出来ますが
標準モジュールの場合、どうするんでしたっけ?
確かAPIを使った様な気がしたんですが
どのAPIを使ってどうするのか
忘れてしまいました。
552デフォルトの名無しさん
2018/10/04(木) 19:32:08.96ID:apogHBJA >>551
忘れたけど ariawase を見れば出てくるんじゃね
忘れたけど ariawase を見れば出てくるんじゃね
553デフォルトの名無しさん
2018/10/04(木) 20:46:51.81ID:Vut2i4+m >>550
とても丁寧にありがとうございます。追加質問させてほしいです。
A: 今回「driver」はオブジェクト変数となるため、定義の際はnew演算子を使用する。またはsetで格納する必要がある。ということで良いのでしょうか?
B: >>550で「ただし初期化していない」とありますが、あるサイトで「vbaでは変数宣言したときに初期化が行われる」という記述を見ました。
これは、setで格納されてないから初期化すらされてない という意味でしょうか。
C: プロシージャが実行されるごとに初期化されればよいならば、private変数の定義をやめて、@〜A、BそれぞれでDim driver As New SeleniumWrapper.WebDriver と定義すればエラーは出ないと思ったのですが、
やはりBのgetメソッドのところで「System.NullReferenceException」エラーが出てしまいました。何故なのでしょうか・・・
長文ですみません どうか宜しくお願いいたします。
とても丁寧にありがとうございます。追加質問させてほしいです。
A: 今回「driver」はオブジェクト変数となるため、定義の際はnew演算子を使用する。またはsetで格納する必要がある。ということで良いのでしょうか?
B: >>550で「ただし初期化していない」とありますが、あるサイトで「vbaでは変数宣言したときに初期化が行われる」という記述を見ました。
これは、setで格納されてないから初期化すらされてない という意味でしょうか。
C: プロシージャが実行されるごとに初期化されればよいならば、private変数の定義をやめて、@〜A、BそれぞれでDim driver As New SeleniumWrapper.WebDriver と定義すればエラーは出ないと思ったのですが、
やはりBのgetメソッドのところで「System.NullReferenceException」エラーが出てしまいました。何故なのでしょうか・・・
長文ですみません どうか宜しくお願いいたします。
554デフォルトの名無しさん
2018/10/04(木) 22:18:56.04ID:/wVNZxwJ >>553
A: あってる
B: だいたいあってる
C: まずコードが動くことを確認してから弄れ。>>546の意図が汲めないならすっぱり諦めて別の方法を考えろ。
流石にこれ以上は自分で調べろ。
追伸
B: とりあえず「値型は宣言と同時に初期化される、オブジェクト型はNewやSetをしてからでないと使えない」と思っとけ
C: 要はWebDriverの「使い回し」がしたいという質問に答えたのが>>546
・モジュールレベルで宣言すれば、各プロシージャ内から変数「driver」を通じて同じ実体(インスタンスという)にアクセスできる
・Initでモジュールレベル変数「driver」を初期化したりStartなどのメソッドを実行すれば、Workでdriverにアクセスした時にその続きのアレコレができる
・逆にInitで初期化やStartその他を実行したにもかかわらずWorkで新たな変数「driver」を宣言したらInitで行った処理が水泡に帰する
・またInit内で新たな変数「driver」を宣言し初期化等をした場合も、Init終了と同時に実体が消えて無くなる
仕事中なんであれこれ端折って書いたので間違ってる部分もあるかもしれんが、「インスタンス」とか「スコープ」とかでググって調べてみてくれ。
A: あってる
B: だいたいあってる
C: まずコードが動くことを確認してから弄れ。>>546の意図が汲めないならすっぱり諦めて別の方法を考えろ。
流石にこれ以上は自分で調べろ。
追伸
B: とりあえず「値型は宣言と同時に初期化される、オブジェクト型はNewやSetをしてからでないと使えない」と思っとけ
C: 要はWebDriverの「使い回し」がしたいという質問に答えたのが>>546
・モジュールレベルで宣言すれば、各プロシージャ内から変数「driver」を通じて同じ実体(インスタンスという)にアクセスできる
・Initでモジュールレベル変数「driver」を初期化したりStartなどのメソッドを実行すれば、Workでdriverにアクセスした時にその続きのアレコレができる
・逆にInitで初期化やStartその他を実行したにもかかわらずWorkで新たな変数「driver」を宣言したらInitで行った処理が水泡に帰する
・またInit内で新たな変数「driver」を宣言し初期化等をした場合も、Init終了と同時に実体が消えて無くなる
仕事中なんであれこれ端折って書いたので間違ってる部分もあるかもしれんが、「インスタンス」とか「スコープ」とかでググって調べてみてくれ。
555デフォルトの名無しさん
2018/10/04(木) 22:32:59.61ID:Vut2i4+m >>554
本当に丁寧にありがとうございます。
伝えるのを忘れていましたが、言われた通りにコードを記述しうまくいきました。それを踏まえてのCでした。
インスタンス、スコープで調べてみます。ありがとうございました。
本当に丁寧にありがとうございます。
伝えるのを忘れていましたが、言われた通りにコードを記述しうまくいきました。それを踏まえてのCでした。
インスタンス、スコープで調べてみます。ありがとうございました。
556デフォルトの名無しさん
2018/10/05(金) 12:52:55.81ID:VkzGqctC 「選択したセルの値を-1する」のに下記のようなプログラムを書いた。
Dim cell As Range
For Each cell In Selection
cell.Value = cell - 1
Next
これはOK。
「セルの値がブランクまたは0のとき、ブランクにする」を追加して、
Dim cell As Range
For Each cell In Selection
If cell.Value <> 0 Then
cell.Value = cell - 1
Else
Next
としたら「Nextに対応するForがありません」と怒られてしまいました。
どこがいけないのでしょうか?
Dim cell As Range
For Each cell In Selection
cell.Value = cell - 1
Next
これはOK。
「セルの値がブランクまたは0のとき、ブランクにする」を追加して、
Dim cell As Range
For Each cell In Selection
If cell.Value <> 0 Then
cell.Value = cell - 1
Else
Next
としたら「Nextに対応するForがありません」と怒られてしまいました。
どこがいけないのでしょうか?
557デフォルトの名無しさん
2018/10/05(金) 12:58:15.96ID:vSWfZutq if文が閉じてないから
558デフォルトの名無しさん
2018/10/05(金) 16:28:56.84ID:JjUc2WZB >>556
お前の知能に障害がある
お前の知能に障害がある
559デフォルトの名無しさん
2018/10/05(金) 16:54:22.89ID:9/5M8DWU >>556
インデントが適当だからそういうミスに気がつかない
インデントが適当だからそういうミスに気がつかない
560デフォルトの名無しさん
2018/10/05(金) 17:24:22.25ID:KMKJ670I else nextとか書く馬鹿にインデントもなにもねーよ
561デフォルトの名無しさん
2018/10/05(金) 17:30:08.09ID:nkW6jPyv 適当ならいいじゃないか
562デフォルトの名無しさん
2018/10/05(金) 18:25:40.30ID:wi1wUlXh Ifは基本一行で済ませるか、If...Then句を書いた後にすぐ改行して同じインデントレベルでEnd If 句を入れる癖をつけろ
563デフォルトの名無しさん
2018/10/05(金) 21:10:17.32ID:Hvo0Z6Jl >>448
レベルアップするたびにポイントをVBAにばかり振り分けてきたんだよきっとw
レベルアップするたびにポイントをVBAにばかり振り分けてきたんだよきっとw
564デフォルトの名無しさん
2018/10/05(金) 21:14:01.44ID:sMfkQDgh565デフォルトの名無しさん
2018/10/05(金) 22:05:56.09ID:uERkBuVa 質問です。
テキストファイルの中身をセルに出力する処理をやっているのですが、一部のテキストファイルの文字が正常に出力されません。(縦線 " | "のみが出力される)
ただし、判定によってセルの色を変えているのですが、その機能は生きているので、読み込み自体はできているみたいです。
また、全部のファイルで不具合があるわけではなく、特定のファイルの特定のレコードにのみ起こるっぽいです…
補足すると、テキストファイル自体はメインフレームの伝送機能で送ってます。これが原因に関係あるのかはわかりませんが…
詳細聞かれたらお答えしますので、解決にご協力頂ければと思います。
テキストファイルの中身をセルに出力する処理をやっているのですが、一部のテキストファイルの文字が正常に出力されません。(縦線 " | "のみが出力される)
ただし、判定によってセルの色を変えているのですが、その機能は生きているので、読み込み自体はできているみたいです。
また、全部のファイルで不具合があるわけではなく、特定のファイルの特定のレコードにのみ起こるっぽいです…
補足すると、テキストファイル自体はメインフレームの伝送機能で送ってます。これが原因に関係あるのかはわかりませんが…
詳細聞かれたらお答えしますので、解決にご協力頂ければと思います。
566デフォルトの名無しさん
2018/10/05(金) 22:07:25.21ID:uERkBuVa 565です。
本題を載せ忘れていました。
原因、改善方法がわかる方いましたら、ご返答願います。
本題を載せ忘れていました。
原因、改善方法がわかる方いましたら、ご返答願います。
567デフォルトの名無しさん
2018/10/05(金) 22:15:30.06ID:vSWfZutq 俺はインデントもしっかりでEnd Ifも先に書く派だな、他の言語での閉じ括弧みたいなもんだし
568デフォルトの名無しさん
2018/10/05(金) 22:17:06.45ID:KYi5h4An >>565
その特定のレコードを教えて
その特定のレコードを教えて
569デフォルトの名無しさん
2018/10/05(金) 22:27:19.79ID:XVCqdvbX570デフォルトの名無しさん
2018/10/05(金) 22:27:20.22ID:vSWfZutq >>565
コンピュータのベンダーや年式が違えば文字コード字形の割り当てが違うことも多い
手順
・テキストファイルの文字エンコード、記述形式を正確に把握する
・化けた部分前後数行のみのテストデータを作る
・ウォッチウィンドウを活用して原因を探る
コンピュータのベンダーや年式が違えば文字コード字形の割り当てが違うことも多い
手順
・テキストファイルの文字エンコード、記述形式を正確に把握する
・化けた部分前後数行のみのテストデータを作る
・ウォッチウィンドウを活用して原因を探る
571デフォルトの名無しさん
2018/10/05(金) 22:30:53.32ID:uERkBuVa >>568
INPUTはJCL(COBOLアプリを動かすためのスクリプト言語)をテキストファイルに落としたものです。
特定のレコードなのですが、テキストファイルを確認しても、他の出力されているレコードと見た目は全く変わりません。(スペース、データの末尾にも問題なし)
にも関わらず決まったレコードのみに不具合が発生します。
マクロが手元にないため画像は載せられませんが、
JCLについては、画像検索して出てきたものとほぼ同じですので参照頂ければと思います。
INPUTはJCL(COBOLアプリを動かすためのスクリプト言語)をテキストファイルに落としたものです。
特定のレコードなのですが、テキストファイルを確認しても、他の出力されているレコードと見た目は全く変わりません。(スペース、データの末尾にも問題なし)
にも関わらず決まったレコードのみに不具合が発生します。
マクロが手元にないため画像は載せられませんが、
JCLについては、画像検索して出てきたものとほぼ同じですので参照頂ければと思います。
572デフォルトの名無しさん
2018/10/05(金) 22:37:26.08ID:uERkBuVa >>570
やはり文字コードがきな臭いですかね
shift-jis になる仕様のはずなのと、他レコードは大丈夫なため問題ないと判断していたのですが、
vba上でも文字コードを明示してあげる必要がありそうですね
やはり文字コードがきな臭いですかね
shift-jis になる仕様のはずなのと、他レコードは大丈夫なため問題ないと判断していたのですが、
vba上でも文字コードを明示してあげる必要がありそうですね
573デフォルトの名無しさん
2018/10/05(金) 22:59:15.65ID:MhNSlq6Z メインフレームなぁ・・・最後に触ったの20年近く前で、びっくりするほど覚えてねぇ。
ちょっと気になるんだが、正常に出力されない時に表示される縦線は、
元のテキストファイルにデータとかデリミタとして含まれている文字なのか?
それとも変換できなかった文字が縦線に置き換わっているのか?
ちょっと気になるんだが、正常に出力されない時に表示される縦線は、
元のテキストファイルにデータとかデリミタとして含まれている文字なのか?
それとも変換できなかった文字が縦線に置き換わっているのか?
574デフォルトの名無しさん
2018/10/05(金) 23:11:22.13ID:VkzGqctC >>556
なんかコピペしたときにend ifが抜けてた
なんかコピペしたときにend ifが抜けてた
575デフォルトの名無しさん
2018/10/05(金) 23:23:40.27ID:lz8xFasJ >>573
縦線はデリミタではなく、元のレコードにも存在しない文字です。
処理としては、テキストファイルのレコードをそのままセルに出力するだけなのですが…
読み込んだ時点では問題なく、出力したときに縦線に置き換わってる感じですねー
縦線はデリミタではなく、元のレコードにも存在しない文字です。
処理としては、テキストファイルのレコードをそのままセルに出力するだけなのですが…
読み込んだ時点では問題なく、出力したときに縦線に置き換わってる感じですねー
576デフォルトの名無しさん
2018/10/05(金) 23:39:05.08ID:JjUc2WZB >>574
馬鹿は死ねよ
馬鹿は死ねよ
577デフォルトの名無しさん
2018/10/05(金) 23:53:59.29ID:E7eIsq4P >>575
ファイルからレコードを読み込んだら、イミディエイトウィンドウにも出力しておく
データをセルに書き込んだあと、もう一度セルから読み出して縦線になってたら中断するようなコードを書く
中断したらイミディエイトウィンドウの内容を確認
どこで化けたか、1つずつ追跡するしかないです
意外なところでミスをしていたり、仕様だったり、落とし穴があるもんです
ファイルからレコードを読み込んだら、イミディエイトウィンドウにも出力しておく
データをセルに書き込んだあと、もう一度セルから読み出して縦線になってたら中断するようなコードを書く
中断したらイミディエイトウィンドウの内容を確認
どこで化けたか、1つずつ追跡するしかないです
意外なところでミスをしていたり、仕様だったり、落とし穴があるもんです
578デフォルトの名無しさん
2018/10/06(土) 00:57:54.07ID:F9JdDpiN >>575
1.入力するテキストファイルに「ろくでもない見えない文字」が含まれている(たとえば制御文字)
→普通のテキストエディタでは見えないことが多いのでバイナリエディタで確認する
2.テキストファイルのレコードを読み取りセルに出力する処理のどこかに問題がある
→特定のレコードで発生するということは、特定の文字列のパターンか、特定のレコード数でのみ発生している可能性もある
こんな月並みなことしか考えつかないな。
個人的には、文字化けだったとしたら全部縦線に置き換わるのはおかしいと思うが(化けた文字が一切見受けられず縦線だけってのが妙に気になる)
1.入力するテキストファイルに「ろくでもない見えない文字」が含まれている(たとえば制御文字)
→普通のテキストエディタでは見えないことが多いのでバイナリエディタで確認する
2.テキストファイルのレコードを読み取りセルに出力する処理のどこかに問題がある
→特定のレコードで発生するということは、特定の文字列のパターンか、特定のレコード数でのみ発生している可能性もある
こんな月並みなことしか考えつかないな。
個人的には、文字化けだったとしたら全部縦線に置き換わるのはおかしいと思うが(化けた文字が一切見受けられず縦線だけってのが妙に気になる)
579デフォルトの名無しさん
2018/10/06(土) 04:51:40.31ID:tnNc0I+3 とりあえず、どんなコードで読み取って表示してるか出さんと話にならんわ
580デフォルトの名無しさん
2018/10/06(土) 07:12:44.67ID:GeqHzxmy 実はテキストファイルのエンコードがutf8とかだったりして
581デフォルトの名無しさん
2018/10/06(土) 07:49:00.01ID:4qqF7BWz メインフレームだからEBCDICだろ変換前はEBCDICの変換は面倒い
582デフォルトの名無しさん
2018/10/06(土) 07:55:07.00ID:omtH0luh EOTとかVTの類の制御文字な気がする
583デフォルトの名無しさん
2018/10/06(土) 13:50:07.16ID:tnNc0I+3 >>561
SHIFT-JISのはずって言ってるし、ホスト側に大抵変換ツールあるだろ
文字コードや制御文字の可能性よりプログラムのバグの方が確率高い気がするなぁ
まあコード出せばどっちの問題かはだいたい判別できるはず
化けるデータのダンプでもいいけどな
SHIFT-JISのはずって言ってるし、ホスト側に大抵変換ツールあるだろ
文字コードや制御文字の可能性よりプログラムのバグの方が確率高い気がするなぁ
まあコード出せばどっちの問題かはだいたい判別できるはず
化けるデータのダンプでもいいけどな
584デフォルトの名無しさん
2018/10/07(日) 13:12:34.96ID:DYNz6D7I 色々と意見ありがとうございます。
コードが掲示できなくて申し訳ないですが、
文字コードについてはホストの変換機能があるはずなので、プログラム上のバグとみてデバックしてみます。
コードが掲示できなくて申し訳ないですが、
文字コードについてはホストの変換機能があるはずなので、プログラム上のバグとみてデバックしてみます。
585デフォルトの名無しさん
2018/10/07(日) 15:35:18.94ID:RZXmBbwE586デフォルトの名無しさん
2018/10/07(日) 15:38:24.87ID:RZXmBbwE587デフォルトの名無しさん
2018/10/07(日) 15:38:37.38ID:yvtwWR1t そしてaの差し替えを忘れると
588デフォルトの名無しさん
2018/10/07(日) 16:40:59.78ID:/7FmU20a VBA「済まんのう、ワシのインテリセンスが貧弱なばっかりに・・・」
589デフォルトの名無しさん
2018/10/07(日) 17:11:47.87ID:RZXmBbwE >>587
二ワトリか?
二ワトリか?
590デフォルトの名無しさん
2018/10/07(日) 19:18:32.78ID:b8EzOufK >>585
閉じタグみたいな単純作業を人間がやるのは馬鹿らしいと気付いて別の言語に移行するのが大正解
閉じタグみたいな単純作業を人間がやるのは馬鹿らしいと気付いて別の言語に移行するのが大正解
591デフォルトの名無しさん
2018/10/07(日) 21:50:24.98ID:mIq+f5AO で、pythonみたいな欠陥言語では空文という概念すらない
インチキな制御文で空文を回避する必要がある
つまり、cが言語として一番単純で簡単
インチキな制御文で空文を回避する必要がある
つまり、cが言語として一番単純で簡単
592デフォルトの名無しさん
2018/10/08(月) 10:32:35.37ID:nJmWXjgB しかし少し待って欲しい
C言語が扱うのはDelegateじゃなくて
ポインタだから不慣れな人が使うのは結構危険
C言語が扱うのはDelegateじゃなくて
ポインタだから不慣れな人が使うのは結構危険
593デフォルトの名無しさん
2018/10/08(月) 10:58:07.65ID:Z4ZqXDLl コードの作成ができる方がいらっしゃいましたら、助けていただきたいです。
https:〜〜/〜〜〜/〜〜.pdf
で終わるURLが1000件以上あり、業務でそのすべてを印刷しなければならないのですが、
1つ1つIEで印刷していくのが大変面倒で、VBAで一気に印刷することができないか
調べたのですが、.pdfで終わるファイルをwebから自動で印刷するのは不可能なようでした。
そこで、その1000件以上あるpdfファイルを一気にローカルに保存できないかと考えております。
具体的には、
A列にひたすらURLを貼り、マクロを起動するとローカルの任意のファイルにPDFが保存されていくようなVBAが組めないかと考えております。
(一気に印刷することができれば、尚よいのですが)
どなたかコードを組んでいただけないでしょうか。
お手数ですが、よろしくお願い致します。
https:〜〜/〜〜〜/〜〜.pdf
で終わるURLが1000件以上あり、業務でそのすべてを印刷しなければならないのですが、
1つ1つIEで印刷していくのが大変面倒で、VBAで一気に印刷することができないか
調べたのですが、.pdfで終わるファイルをwebから自動で印刷するのは不可能なようでした。
そこで、その1000件以上あるpdfファイルを一気にローカルに保存できないかと考えております。
具体的には、
A列にひたすらURLを貼り、マクロを起動するとローカルの任意のファイルにPDFが保存されていくようなVBAが組めないかと考えております。
(一気に印刷することができれば、尚よいのですが)
どなたかコードを組んでいただけないでしょうか。
お手数ですが、よろしくお願い致します。
594デフォルトの名無しさん
2018/10/08(月) 11:21:42.19ID:H/mp1NsO curl, wget で、ファイルをダウンロードできる
595デフォルトの名無しさん
2018/10/08(月) 12:38:16.57ID:TfWfyeTE ダウンロードやら印刷やらはPowershellならそれぞれ1コマンドで出来るんだけどね
VBAだとそこそこ面倒な気がする
VBAだとそこそこ面倒な気がする
596デフォルトの名無しさん
2018/10/08(月) 12:47:36.35ID:rY44Et0R 両面2upで印刷とかだとpowershellでも大変じゃないの
597デフォルトの名無しさん
2018/10/08(月) 12:59:10.13ID:fNYJDKkK >>593
難しいだのなんだの言われてたけど、テキトーにやってたら簡単にできて拍子抜け
http://fast-uploader.com/start/7094526398997/
Book1.zip
を
Book1.xlsm
にリネームしてくれ
A列はファイル名
B列はURL
C列はokかNGか。アテになるかどうかはシランので、落とした後のファイル数はなどは確認したほうが良い
コードの編集は適当にやってくれ
今はテスト用に3つだけにしている
あと保存するファイル名は被らないようにかなり適当に作っている。適当に変えてくれ
で、pdf印刷はこの辺に任せるといいと思う
https://dekiru.net/article/1745/
あと、参考にしたサイト
https://tonari-it.com/excel-vba-windowsapi-urldownloadtofile/
特に何の関係もない、無害なサンプルpdfが置いてあったサイト
http://www.shikisensha.com/pdfs.html
難しいだのなんだの言われてたけど、テキトーにやってたら簡単にできて拍子抜け
http://fast-uploader.com/start/7094526398997/
Book1.zip
を
Book1.xlsm
にリネームしてくれ
A列はファイル名
B列はURL
C列はokかNGか。アテになるかどうかはシランので、落とした後のファイル数はなどは確認したほうが良い
コードの編集は適当にやってくれ
今はテスト用に3つだけにしている
あと保存するファイル名は被らないようにかなり適当に作っている。適当に変えてくれ
で、pdf印刷はこの辺に任せるといいと思う
https://dekiru.net/article/1745/
あと、参考にしたサイト
https://tonari-it.com/excel-vba-windowsapi-urldownloadtofile/
特に何の関係もない、無害なサンプルpdfが置いてあったサイト
http://www.shikisensha.com/pdfs.html
598デフォルトの名無しさん
2018/10/08(月) 13:00:47.95ID:wluWAmXV599デフォルトの名無しさん
2018/10/08(月) 13:16:18.75ID:fNYJDKkK そこまで簡単にできるならもうここで書いてしまって良いんじゃない?
600デフォルトの名無しさん
2018/10/08(月) 13:21:06.52ID:SdoZVitL クレクレに割く労力など微塵もない
601デフォルトの名無しさん
2018/10/08(月) 13:21:21.13ID:XarCorGP602デフォルトの名無しさん
2018/10/08(月) 13:36:20.93ID:fNYJDKkK603デフォルトの名無しさん
2018/10/08(月) 15:25:31.11ID:41uO404m >>593
死ねよ
死ねよ
604デフォルトの名無しさん
2018/10/08(月) 15:55:52.70ID:fNYJDKkK605デフォルトの名無しさん
2018/10/08(月) 18:30:52.01ID:lvy06Ht8 >>597
URLDownloadToFile というAPIがあることをいま知った。
これまで都度 MSXML2.XMLHTTP を作って .Open "GET" していた。
API一発ならその方がスマートだしプログラムをそれベースに書き換えようかと思ったけど、
IDとパスワードを渡さなきゃならない場合は使えないのかな?
URLDownloadToFile というAPIがあることをいま知った。
これまで都度 MSXML2.XMLHTTP を作って .Open "GET" していた。
API一発ならその方がスマートだしプログラムをそれベースに書き換えようかと思ったけど、
IDとパスワードを渡さなきゃならない場合は使えないのかな?
606デフォルトの名無しさん
2018/10/09(火) 01:51:39.58ID:FzGViRAL N列に時刻データが入っている
但し一部の行はブランク
時刻データは"00:10:00"のように時・分・秒が指定されている
表上は"00:10"つまり「時・分」のみを表示
この時刻データの分の1桁目が9の時のみ1分繰り上げて0にしたい
つまり
"00:19:00"→"00:20:00"
"00:59:00"→"01:00:00"
になるようにしたい
セルは複数セルを不連続で選択し、ブランクはパスして
分の1桁が「9」の場合のみ1分繰り上げするにはどうすれば良いでしょうか?
但し一部の行はブランク
時刻データは"00:10:00"のように時・分・秒が指定されている
表上は"00:10"つまり「時・分」のみを表示
この時刻データの分の1桁目が9の時のみ1分繰り上げて0にしたい
つまり
"00:19:00"→"00:20:00"
"00:59:00"→"01:00:00"
になるようにしたい
セルは複数セルを不連続で選択し、ブランクはパスして
分の1桁が「9」の場合のみ1分繰り上げするにはどうすれば良いでしょうか?
607デフォルトの名無しさん
2018/10/09(火) 03:48:33.30ID:GjEV7PXm608デフォルトの名無しさん
2018/10/09(火) 07:12:30.74ID:/OeVfiJl >>606
O1=N1+IF(MOD(MINUTE(N1),10)=9,TIME(0,1,0),0)
O1=N1+IF(MOD(MINUTE(N1),10)=9,TIME(0,1,0),0)
609デフォルトの名無しさん
2018/10/09(火) 08:27:33.61ID:0K1bBeTL610609
2018/10/09(火) 10:04:43.66ID:0K1bBeTL >>565-586
制御文字の可能性があるから、文字列をバイナリで見る
文字コードや、UTF-8 ならBOM の有無
セルに入力した時に、特別な意味を持つ文字が入っているとか?
シングル・ダブルクォーテーションなど?
制御文字の可能性があるから、文字列をバイナリで見る
文字コードや、UTF-8 ならBOM の有無
セルに入力した時に、特別な意味を持つ文字が入っているとか?
シングル・ダブルクォーテーションなど?
611デフォルトの名無しさん
2018/10/09(火) 16:25:52.94ID:YqupZDTJ 会社で社内Webのform類のsubmitボタンを押して出てくるデータベースのデータが抽出されるシステムがあります。
(まあ、このようなシステムはどこにもあると思いますが。)
これ、どうにかして大元のデータベースのデータを丸ごとExcelにインポートする方法ってないですか?
Webのソースを見れば、データベースのサーバのアドレスが書いてあって、それをVBAで取り込む、みたいなのをイメージしているのですが
技術的には可能ですよね?
(まあ、このようなシステムはどこにもあると思いますが。)
これ、どうにかして大元のデータベースのデータを丸ごとExcelにインポートする方法ってないですか?
Webのソースを見れば、データベースのサーバのアドレスが書いてあって、それをVBAで取り込む、みたいなのをイメージしているのですが
技術的には可能ですよね?
612デフォルトの名無しさん
2018/10/09(火) 16:53:10.93ID:iuxGmBKG 技術的には可能だがお前には不可能
イメージが見当違いだ
イメージが見当違いだ
613デフォルトの名無しさん
2018/10/09(火) 16:58:57.67ID:ZX9nrIhI WEBサーバ自体をハックできるなら。
大抵PHPか.Net実装でソースからは見えない
大抵PHPか.Net実装でソースからは見えない
614デフォルトの名無しさん
2018/10/09(火) 16:59:23.34ID:YqupZDTJ あまりわたしを怒らせないほうがいいぞ
わたしは怒ったら怖いんだぞ
わたしは怒ったら怖いんだぞ
615デフォルトの名無しさん
2018/10/09(火) 17:21:21.07ID:ZX9nrIhI コンプライアンス違反で懲戒解雇&賠償請求訴訟起こされたいのなら、止める義理はない
616デフォルトの名無しさん
2018/10/09(火) 17:57:17.02ID:3Eshr90N617デフォルトの名無しさん
2018/10/09(火) 18:10:23.08ID:MhhKJFZu >>611
怒らせたくはないけどまともなシステムならクライアントから見えるところにデービーのアドレスは書かれてないよ
怒らせたくはないけどまともなシステムならクライアントから見えるところにデービーのアドレスは書かれてないよ
618デフォルトの名無しさん
2018/10/09(火) 18:17:11.24ID:MhhKJFZu クライアント↔Webサーバ↔DBサーバ
ブラウザがやり取りするのはWebサーバ
その先にはアクセス出来ないのが普通
ブラウザがやり取りするのはWebサーバ
その先にはアクセス出来ないのが普通
619デフォルトの名無しさん
2018/10/09(火) 18:18:22.93ID:alG4HLy2 普通に上司経由でシステムの所管部署に相談してAPIを共有してもらった方が安全だろ
自作コードでサーバーを直接叩くのはいろんな意味で危険
自作コードでサーバーを直接叩くのはいろんな意味で危険
620デフォルトの名無しさん
2018/10/09(火) 19:14:35.52ID:AeEBE3gj 焦っとるなプロさんwおまえらプロさんのコードも十分すぎる程危険なんやがw
621デフォルトの名無しさん
2018/10/09(火) 19:46:02.37ID:fy0WNSeQ >>611
出発点から「自分で勝手に何かする」というのが間違い。
他の人も言うとおり、まずは自社で管理してるDBなら管理部署に、ベンダのシステムであればそのベンダに、やりたいことを伝えて対応してもらう。
対応してもらうのが無理なら、管理部署やベンダにAPI等を利用してツールを作成して良いか確認を取る。
もしOKなら、API等を利用してツールを自作する。完成したら必ず管理部署やベンタにツールを見てもらう。
勝手にベンダのAPIを利用してSQL発行ツール自作してクビ寸前まで行ったことがある人を知ってる。
大幅減俸で落ち着いたらしいけど今はもういないから実際のところどうだったのかは知らんが。
出発点から「自分で勝手に何かする」というのが間違い。
他の人も言うとおり、まずは自社で管理してるDBなら管理部署に、ベンダのシステムであればそのベンダに、やりたいことを伝えて対応してもらう。
対応してもらうのが無理なら、管理部署やベンダにAPI等を利用してツールを作成して良いか確認を取る。
もしOKなら、API等を利用してツールを自作する。完成したら必ず管理部署やベンタにツールを見てもらう。
勝手にベンダのAPIを利用してSQL発行ツール自作してクビ寸前まで行ったことがある人を知ってる。
大幅減俸で落ち着いたらしいけど今はもういないから実際のところどうだったのかは知らんが。
622606
2018/10/09(火) 20:01:04.99ID:FzGViRAL >>607-609
ども!
ワークシート上なら"00:59:00"+"00:01:00"→"01:00:00"みたいに単純に繰り上げが出来るので
マクロで同じような計算が出来ないかと考えたんだけど(>>609さんのコメがそうかな?)
具体的な手順が思い当たらなかったので、原始的なやり方で作ってみました
strTime = Format(cell.Value, "hh:nn:ss")でセルの時刻を文字列に読み込み
時(strH)・分(strM)・秒(strS)を切り分け、分の1桁目が9の時だけ
intH = val(strH)、intM=val(strM)で数値化した値から
sumM = ntH*60 + intM + 1
intH = int(sumM/60)、intM = sumM - intH *60 を計算し
これを時刻に直してセルに戻す、という手順で出来ました
ども!
ワークシート上なら"00:59:00"+"00:01:00"→"01:00:00"みたいに単純に繰り上げが出来るので
マクロで同じような計算が出来ないかと考えたんだけど(>>609さんのコメがそうかな?)
具体的な手順が思い当たらなかったので、原始的なやり方で作ってみました
strTime = Format(cell.Value, "hh:nn:ss")でセルの時刻を文字列に読み込み
時(strH)・分(strM)・秒(strS)を切り分け、分の1桁目が9の時だけ
intH = val(strH)、intM=val(strM)で数値化した値から
sumM = ntH*60 + intM + 1
intH = int(sumM/60)、intM = sumM - intH *60 を計算し
これを時刻に直してセルに戻す、という手順で出来ました
623デフォルトの名無しさん
2018/10/09(火) 21:10:44.20ID:KUCIqBg4 先週文字化けの件で質問をした者です。
あれから例のマクロをデバッグし、無事原因がわかりました。
文字コード云々ではなく、単純なロジックミスという落ちでした…。
お騒がせをしましたが、ご助言くださった方々ありがとうございました。
あれから例のマクロをデバッグし、無事原因がわかりました。
文字コード云々ではなく、単純なロジックミスという落ちでした…。
お騒がせをしましたが、ご助言くださった方々ありがとうございました。
624デフォルトの名無しさん
2018/10/09(火) 21:29:16.80ID:b4f5o7ms オートフィルターをかけた状態の表を配列に取り込むには、Copy Pasteで一旦どこかに貼るしかないのかな?
625デフォルトの名無しさん
2018/10/09(火) 21:52:35.13ID:ZX9nrIhI >>623
クローズ報告ありがとさん、燻りそうだったのでクローズ連絡は助かる
クローズ報告ありがとさん、燻りそうだったのでクローズ連絡は助かる
626デフォルトの名無しさん
2018/10/09(火) 22:00:23.20ID:fy0WNSeQ >>623
やっぱそっちだったか。解決したようで良かったわ。
やっぱそっちだったか。解決したようで良かったわ。
627デフォルトの名無しさん
2018/10/09(火) 22:45:02.58ID:AYSUcKLB >>624
ヒントはF5、表示セルのみ
ヒントはF5、表示セルのみ
628デフォルトの名無しさん
2018/10/09(火) 23:06:53.75ID:YqupZDTJ629デフォルトの名無しさん
2018/10/09(火) 23:19:05.15ID:/OeVfiJl630デフォルトの名無しさん
2018/10/09(火) 23:44:23.50ID:fy0WNSeQ >>628
問題は色々あるが、まずは許諾を得ずに勝手に構造を解析するということ。つまりリバースエンジニアリング。
次にシステム上想定していない勝手なSQLをこれまたシステム上想定していない勝手な方向から流すということ。
「会社のために」の枕詞を取り払えばこういうことになる。その枕詞が付いていたとしてもリスク管理の観点から非常に危ない。
特に、決められた手続き決められたデータが抽出できる環境がありながら全データ抽出したいとか、クラッキング以外の何ものでもない。
自分で勝手に作ったSQL発行ツールが原因でサーバに異常な負荷をかけてしまったら責任が取れるのか?
そのツールが悪意のある第三者に見られあるいは持ち出され、悪用されたら責任を取れるのか?
自分の会社に対する誠意を完全に証明できる自信があるとか、完全無欠に誰にもどこにも迷惑をかけないツールを作成できる自信があるとかなら、なおのこと手順を踏むべきだ。
黙ってやろうとすること自体が会社を納得させる自信のなさと会社への不誠実さの顕れだ。
問題は色々あるが、まずは許諾を得ずに勝手に構造を解析するということ。つまりリバースエンジニアリング。
次にシステム上想定していない勝手なSQLをこれまたシステム上想定していない勝手な方向から流すということ。
「会社のために」の枕詞を取り払えばこういうことになる。その枕詞が付いていたとしてもリスク管理の観点から非常に危ない。
特に、決められた手続き決められたデータが抽出できる環境がありながら全データ抽出したいとか、クラッキング以外の何ものでもない。
自分で勝手に作ったSQL発行ツールが原因でサーバに異常な負荷をかけてしまったら責任が取れるのか?
そのツールが悪意のある第三者に見られあるいは持ち出され、悪用されたら責任を取れるのか?
自分の会社に対する誠意を完全に証明できる自信があるとか、完全無欠に誰にもどこにも迷惑をかけないツールを作成できる自信があるとかなら、なおのこと手順を踏むべきだ。
黙ってやろうとすること自体が会社を納得させる自信のなさと会社への不誠実さの顕れだ。
631デフォルトの名無しさん
2018/10/09(火) 23:59:21.37ID:XhVkj+aM 大げさなやつらだな
普通に「ODBCでアクセスしたいからID発行してプリーズ」って管理部署に頼め
普通に「ODBCでアクセスしたいからID発行してプリーズ」って管理部署に頼め
632デフォルトの名無しさん
2018/10/10(水) 02:27:09.31ID:XHKsn4Nc お前らビビりすぎだろ
外からDBアクセスできるなら
トランケートされても文句言えねえわ
外からDBアクセスできるなら
トランケートされても文句言えねえわ
633デフォルトの名無しさん
2018/10/10(水) 02:27:50.97ID:XHKsn4Nc 真面目か
634デフォルトの名無しさん
2018/10/10(水) 04:01:34.04ID:Vii71/zC 作成依頼です。
エクセルのA1セルに入力されている住所をgoogleearthで開きたいのです。
マクロでgoogleearthを立ち上げるとこまではshell関数で作ったのですが,そ
の先をどうすればよいのかさっぱりわかりません。
googleearth左上の検索のところにA1セルの住所を自動で入力して検索ボタンを押す,
というマクロを教えて頂けないでしょうか。
よろしくお願いします。
エクセルのA1セルに入力されている住所をgoogleearthで開きたいのです。
マクロでgoogleearthを立ち上げるとこまではshell関数で作ったのですが,そ
の先をどうすればよいのかさっぱりわかりません。
googleearth左上の検索のところにA1セルの住所を自動で入力して検索ボタンを押す,
というマクロを教えて頂けないでしょうか。
よろしくお願いします。
635デフォルトの名無しさん
2018/10/10(水) 04:15:39.03ID:2oZCcDsE お前らが甘やかすからこういう全部作ってくれ馬鹿が調子に乗る
636デフォルトの名無しさん
2018/10/10(水) 04:32:03.45ID:crh5hRT2637デフォルトの名無しさん
2018/10/10(水) 04:43:16.64ID:qywSzTWT それは、ウェブページ・ブラウザの自動操作だろ?
iMacros, Selenium IDE とか。
それか、Ruby で、Selenium Webdriver を使う
iMacros, Selenium IDE とか。
それか、Ruby で、Selenium Webdriver を使う
638デフォルトの名無しさん
2018/10/10(水) 07:20:01.37ID:R8Iewqe6 CREATE SESSION しかないに決まってるだろ
639デフォルトの名無しさん
2018/10/10(水) 07:54:53.57ID:8C9bqvqY640628
2018/10/10(水) 12:15:23.99ID:FaIKeQC1 >>630
大げさな。
ちなみにそのデータは顧客関係の個人情報は一切含まれてなくて、含まれているのは製品や購入パーツの在庫情報だけだ。
ある作業で、その製品や在庫パーツのあるデータを使って簡単な計算をしなければならず、
現状ではいちいちWebサイトで1個1個フィルードに入力してSUBMITボタンを押して出てきたデータをExcelに貼り付けてそれを計算しなければならない。
しかしそのデータベースをexportすることができればWebサイトで1個1個地道に長時間かけて手入力で全部データをコピペしなければならない。
こんなアホなことはできない。というかこんなアホなことを真に受けてまじめにしようとする人(うちのチームの人う)ことアホだ。
ちなみにWebからExcelにexportするためのボタンはあるがなぜかほしいデータが入らないようにしているため利用できない。
大げさな。
ちなみにそのデータは顧客関係の個人情報は一切含まれてなくて、含まれているのは製品や購入パーツの在庫情報だけだ。
ある作業で、その製品や在庫パーツのあるデータを使って簡単な計算をしなければならず、
現状ではいちいちWebサイトで1個1個フィルードに入力してSUBMITボタンを押して出てきたデータをExcelに貼り付けてそれを計算しなければならない。
しかしそのデータベースをexportすることができればWebサイトで1個1個地道に長時間かけて手入力で全部データをコピペしなければならない。
こんなアホなことはできない。というかこんなアホなことを真に受けてまじめにしようとする人(うちのチームの人う)ことアホだ。
ちなみにWebからExcelにexportするためのボタンはあるがなぜかほしいデータが入らないようにしているため利用できない。
641デフォルトの名無しさん
2018/10/10(水) 12:17:07.30ID:FaIKeQC1 そのデータベースから一挙に全データをexportできれば
あとはvlookupを使ってすべての作業が一瞬で終わり。1分。
それができないから、上司からしめきりが1か月後みたいに設定されてる。
あとはvlookupを使ってすべての作業が一瞬で終わり。1分。
それができないから、上司からしめきりが1か月後みたいに設定されてる。
642デフォルトの名無しさん
2018/10/10(水) 12:18:25.21ID:FaIKeQC1 【誤】
ちなみにそのデータは顧客関係の個人情報は一切含まれてなくて、含まれているのは製品や購入パーツの在庫情報だけだ。
ある作業で、その製品や在庫パーツのあるデータを使って簡単な計算をしなければならず、
現状ではいちいちWebサイトで1個1個フィルードに入力してSUBMITボタンを押して出てきたデータをExcelに貼り付けてそれを計算しなければならない。
しかしそのデータベースをexportすることができればWebサイトで1個1個地道に長時間かけて手入力で全部データをコピペしなければならない。
こんなアホなことはできない。というかこんなアホなことを真に受けてまじめにしようとする人(うちのチームの人う)ことアホだ。
ちなみにWebからExcelにexportするためのボタンはあるがなぜかほしいデータが入らないようにしているため利用できない。
【正】
ちなみにそのデータは顧客関係の個人情報は一切含まれてなくて、含まれているのは製品や購入パーツの在庫情報だけだ。
ある作業で、その製品や在庫パーツのあるデータを使って簡単な計算をしなければならず、
現状ではいちいちWebサイトで1個1個フィルードに入力してSUBMITボタンを押して出てきたデータをExcelに貼り付けてそれを計算しなければならない。
しかしそのデータベースをexportすることができればWebサイトで1個1個地道に長時間かけて手入力で全部データをコピペする必要はない。
こんなアホなことはできない。というかこんなアホなことを真に受けてまじめにしようとする人(うちのチームの人う)ことアホだ。
ちなみにWebからExcelにexportするためのボタンはあるがなぜかほしいデータが入らないようにしているため利用できない。
ちなみにそのデータは顧客関係の個人情報は一切含まれてなくて、含まれているのは製品や購入パーツの在庫情報だけだ。
ある作業で、その製品や在庫パーツのあるデータを使って簡単な計算をしなければならず、
現状ではいちいちWebサイトで1個1個フィルードに入力してSUBMITボタンを押して出てきたデータをExcelに貼り付けてそれを計算しなければならない。
しかしそのデータベースをexportすることができればWebサイトで1個1個地道に長時間かけて手入力で全部データをコピペしなければならない。
こんなアホなことはできない。というかこんなアホなことを真に受けてまじめにしようとする人(うちのチームの人う)ことアホだ。
ちなみにWebからExcelにexportするためのボタンはあるがなぜかほしいデータが入らないようにしているため利用できない。
【正】
ちなみにそのデータは顧客関係の個人情報は一切含まれてなくて、含まれているのは製品や購入パーツの在庫情報だけだ。
ある作業で、その製品や在庫パーツのあるデータを使って簡単な計算をしなければならず、
現状ではいちいちWebサイトで1個1個フィルードに入力してSUBMITボタンを押して出てきたデータをExcelに貼り付けてそれを計算しなければならない。
しかしそのデータベースをexportすることができればWebサイトで1個1個地道に長時間かけて手入力で全部データをコピペする必要はない。
こんなアホなことはできない。というかこんなアホなことを真に受けてまじめにしようとする人(うちのチームの人う)ことアホだ。
ちなみにWebからExcelにexportするためのボタンはあるがなぜかほしいデータが入らないようにしているため利用できない。
643デフォルトの名無しさん
2018/10/10(水) 12:23:41.33ID:ic51pubx644デフォルトの名無しさん
2018/10/10(水) 12:25:54.86ID:XztHvnca システムを作る側の目線でいうと、UIベースで自動化しようとするのは迷惑だから頼むからやめろ
普通に権限を貰うか、システム改善を依頼してくれ
普通に権限を貰うか、システム改善を依頼してくれ
645デフォルトの名無しさん
2018/10/10(水) 12:36:26.92ID:qywSzTWT 外部の部署が、DB に直接アクセスすることは、普通は認められない
他の部署の人が頼みにきて、裏口でやっている話はよくきくけど、危険な行為。
ルール自体を変えないで、ルール違反の形で、黙って下の者がよくやるけど、
上の者が把握・管理していないから、会社として成立していない
ドイツ車で、大問題になった。
下の者が、勝手にプログラムを書き換えていた
他の部署の人が頼みにきて、裏口でやっている話はよくきくけど、危険な行為。
ルール自体を変えないで、ルール違反の形で、黙って下の者がよくやるけど、
上の者が把握・管理していないから、会社として成立していない
ドイツ車で、大問題になった。
下の者が、勝手にプログラムを書き換えていた
646デフォルトの名無しさん
2018/10/10(水) 12:56:48.86ID:Zvsf2lMk647デフォルトの名無しさん
2018/10/10(水) 13:12:18.23ID:ic51pubx >>645
外部の部署と言うより「データは社内の共有データでDBはシステム部が所管している」
ように読めるけどね。
昨今のデータ活用・データ民主化の流れでエンドユーザにSELECTさせるのは当然になってる。
もちろん無断でやるなんてのは論外だが。
外部の部署と言うより「データは社内の共有データでDBはシステム部が所管している」
ように読めるけどね。
昨今のデータ活用・データ民主化の流れでエンドユーザにSELECTさせるのは当然になってる。
もちろん無断でやるなんてのは論外だが。
648デフォルトの名無しさん
2018/10/10(水) 14:45:22.50ID:47KSV23N649デフォルトの名無しさん
2018/10/10(水) 16:35:31.34ID:Umu+TTue 今回ばかりはRubyさんの言う事が正しい気がする
今の人件費はこれだけです
RPAでやったらこうなります
DBへのアクセスを許可してもらえればこうなります
だからこうして欲しい、と、数字を出して説得するのが
いんじゃないかな
今の人件費はこれだけです
RPAでやったらこうなります
DBへのアクセスを許可してもらえればこうなります
だからこうして欲しい、と、数字を出して説得するのが
いんじゃないかな
650デフォルトの名無しさん
2018/10/10(水) 18:29:59.16ID:hH0ybitP >>648
いや、改めて試したけどできるぞ?
いや、改めて試したけどできるぞ?
651デフォルトの名無しさん
2018/10/10(水) 19:13:54.40ID:YG2jN7++ >>649
アマチュアならこういう意識が薄くてもしょうがない
アマチュアならこういう意識が薄くてもしょうがない
652デフォルトの名無しさん
2018/10/10(水) 19:36:58.16ID:8C9bqvqY >643
SELECTは危険ではないけど重くなるんだよ
特に初心者が書いたwhereもしないSELECTとか重くてかなわん
だから素直に頼んでくれ、ほんと
>>649
それでいいよ
全件SELECTしてからaccessでフィルタする奴は本気で死ねとしか思わん
SELECTは危険ではないけど重くなるんだよ
特に初心者が書いたwhereもしないSELECTとか重くてかなわん
だから素直に頼んでくれ、ほんと
>>649
それでいいよ
全件SELECTしてからaccessでフィルタする奴は本気で死ねとしか思わん
653621
2018/10/10(水) 22:05:51.66ID:KAlixXjp >>640-642
目的:Web系在庫管理システムのデータ抽出の際の項目選択の手間を省きたい
手段:以下の作業を自動実行する
1.在庫管理データベースからすべての情報をその都度抽出する
2.全データから必要な情報のみを抽出し、加工(計算など)を行う
この、小さな目的達成のために払うリスクがでかすぎることを解っていないところとか、
俺の知るクビになりかけた人物と同じこと言ってて流石に寒気がした。
もっともその人が作ったのはエンドユーザーが抽出条件をある程度自由にカスタマイズ・保存できる文字どおりのEUCツールで、
ハイコストなSELECTが発行されまくった結果システム全体のパフォーマンスが微妙に落ちて、それでベンダのSEが気づいたんだが。
はじめから管理部署なりベンダなりに相談しておけば:
A.システム内に解決する手段が既にあるかもしれない(標準のEUC機能に抽出条件を保存できたり)
B.システムで対応可能だったかもしれない(SEが管理する簡易的な抽出機能への追加など)
C.システムで対応できずともベターな解決手段を探れたかもしれない(APIへの接続許可など)
>>652も言っているがDBもサーバも回線(帯域幅)もタダではないし有限だし消耗品と思え。
目的:Web系在庫管理システムのデータ抽出の際の項目選択の手間を省きたい
手段:以下の作業を自動実行する
1.在庫管理データベースからすべての情報をその都度抽出する
2.全データから必要な情報のみを抽出し、加工(計算など)を行う
この、小さな目的達成のために払うリスクがでかすぎることを解っていないところとか、
俺の知るクビになりかけた人物と同じこと言ってて流石に寒気がした。
もっともその人が作ったのはエンドユーザーが抽出条件をある程度自由にカスタマイズ・保存できる文字どおりのEUCツールで、
ハイコストなSELECTが発行されまくった結果システム全体のパフォーマンスが微妙に落ちて、それでベンダのSEが気づいたんだが。
はじめから管理部署なりベンダなりに相談しておけば:
A.システム内に解決する手段が既にあるかもしれない(標準のEUC機能に抽出条件を保存できたり)
B.システムで対応可能だったかもしれない(SEが管理する簡易的な抽出機能への追加など)
C.システムで対応できずともベターな解決手段を探れたかもしれない(APIへの接続許可など)
>>652も言っているがDBもサーバも回線(帯域幅)もタダではないし有限だし消耗品と思え。
654デフォルトの名無しさん
2018/10/10(水) 22:12:58.00ID:R8Iewqe6 ユーザーに触らせたくないDBとEUC用DBの違いって何なんですかね?
655デフォルトの名無しさん
2018/10/10(水) 22:14:25.01ID:8C9bqvqY >DBもサーバも回線(帯域幅)もタダではないし有限だし消耗品と思え。
そうだね、業務用途のサーバーと回線は従量制と知らない人が多すぎる
逆に従量制じゃなければ全員に迷惑がかかるって事になり、それまた迷惑
開発の端の端にいるなら、回線ってとんでもない金額がかかってるって知っておいてほしい
自分のPC内でぐるぐる回すだけならまぁわからんでもないけどな
そうだね、業務用途のサーバーと回線は従量制と知らない人が多すぎる
逆に従量制じゃなければ全員に迷惑がかかるって事になり、それまた迷惑
開発の端の端にいるなら、回線ってとんでもない金額がかかってるって知っておいてほしい
自分のPC内でぐるぐる回すだけならまぁわからんでもないけどな
656デフォルトの名無しさん
2018/10/11(木) 09:09:34.84ID:3Bdkvxy9 サーバー内で、ちゃんと絞り込みが出来ているかとか、
実行計画を見て、確認したり
高度情報処理資格のDB スペシャリストを取ったり、ミックの本を読んだり、
勉強した人しか、DB を触っちゃいけない
実行計画を見て、確認したり
高度情報処理資格のDB スペシャリストを取ったり、ミックの本を読んだり、
勉強した人しか、DB を触っちゃいけない
657デフォルトの名無しさん
2018/10/11(木) 10:35:12.02ID:OPRsoT4p DBスペシャリスト持ってないの丸わかりだな
DBスペシャリストで扱うのはデータモデリングやアプリケーション設計が中心で、
クエリチューニングのような運用寄りの出題はほとんどない
DBスペシャリストで扱うのはデータモデリングやアプリケーション設計が中心で、
クエリチューニングのような運用寄りの出題はほとんどない
658デフォルトの名無しさん
2018/10/11(木) 10:37:57.07ID:ljJfys9R そんなハードル高くしてどうすんだよ
ビジネスで競争に負けてたらシステムの予算だって出なくなるんだぞ
ビジネスで競争に負けてたらシステムの予算だって出なくなるんだぞ
659デフォルトの名無しさん
2018/10/11(木) 12:17:10.50ID:z21fIq1H なぜか質問そっちのけでレベルの低いマウント取り合いになるプロさん達w
660デフォルトの名無しさん
2018/10/11(木) 12:37:03.82ID:r2SLIRPN おれも素人だが、今回の件はいくらなんでもアホすぎる質問をした素人VBAerが悪いと思う
661656
2018/10/11(木) 12:55:04.68ID:3Bdkvxy9 DB スペシャリストの過去問題をやればよい
上司から、レコードの絞り込みが甘いと注意されました。
表設計をどう直しますか?
もちろん、出題されている
上司から、レコードの絞り込みが甘いと注意されました。
表設計をどう直しますか?
もちろん、出題されている
662デフォルトの名無しさん
2018/10/11(木) 14:56:15.23ID:O4qg21v8 ExcelVBAのスレでいきなりDBスペシャリストの話題持ち出すのはどこのアホウなんだよ
663デフォルトの名無しさん
2018/10/11(木) 16:13:58.69ID:L8oPmsqv いきなりってわけじゃないけどな
それなりの流れがある
それなりの流れがある
664デフォルトの名無しさん
2018/10/11(木) 16:14:37.48ID:L8oPmsqv VBAスペシャリストの皆さん
665デフォルトの名無しさん
2018/10/11(木) 19:13:53.56ID:ZOLcqtf+ まぁ使用する範囲で同じ内容のテーブル作っておいて
マスターの方のテーブルの登録や更新、削除をトリガーとして
別途作った同じ内容のテーブルに反映させた側のテーブルを見に行くようにしたりする
システムには当たったことがあるけどね。
何にせよ余計なことはやらせない方が無難ではあるよ。
マスターの方のテーブルの登録や更新、削除をトリガーとして
別途作った同じ内容のテーブルに反映させた側のテーブルを見に行くようにしたりする
システムには当たったことがあるけどね。
何にせよ余計なことはやらせない方が無難ではあるよ。
666デフォルトの名無しさん
2018/10/11(木) 20:25:53.87ID:xmZyhWmI667デフォルトの名無しさん
2018/10/11(木) 20:46:07.05ID:Y5yLaTkx >>666
勝手に接続してるなら、どういう方法だろうとアウトと思っておいたほうがいい
重さで言うなら、SQL直接書くかせめて確認するのが一番確実
とにかく最初にwhereでフィルタするんだ
そのフィルタしたテーブル同士で結合したりするんだ。それだけ覚えておけばどうにかなる
リンクしてるだけだと特に意味はないわ
ってかこの辺はDB板行ったほうがいいだろう
勝手に接続してるなら、どういう方法だろうとアウトと思っておいたほうがいい
重さで言うなら、SQL直接書くかせめて確認するのが一番確実
とにかく最初にwhereでフィルタするんだ
そのフィルタしたテーブル同士で結合したりするんだ。それだけ覚えておけばどうにかなる
リンクしてるだけだと特に意味はないわ
ってかこの辺はDB板行ったほうがいいだろう
668デフォルトの名無しさん
2018/10/11(木) 20:54:31.19ID:Pm0hH2qh SELECT TOP 100 * FROM TableA
669デフォルトの名無しさん
2018/10/12(金) 17:32:15.43ID:PXpuxPjv 許可もらわんと管理部門から逆にIPたどられて社内のPCから不正なアクセスが頻繁にあるって言われなければいいね
670デフォルトの名無しさん
2018/10/13(土) 18:47:47.50ID:L3Dj2/gz コレがエクセルのシートしか使えないヤツラの知能の限界
しょうがない
どこにインデックスはってるか見もせずに
where句で巨大なテーブルをいきなり検索したりするからな
そしてフルスキャンになる
そしてcountで件数を確認もせずにいきなり大量抽出する
知能が低いヤツラにSQLさわらせるとこうなる
もうね予見できるワケ
しょうがない
どこにインデックスはってるか見もせずに
where句で巨大なテーブルをいきなり検索したりするからな
そしてフルスキャンになる
そしてcountで件数を確認もせずにいきなり大量抽出する
知能が低いヤツラにSQLさわらせるとこうなる
もうね予見できるワケ
671デフォルトの名無しさん
2018/10/13(土) 18:51:04.15ID:L3Dj2/gz 低学歴知恵遅れの知能が低いヤツにSQLはキチガイに刃物
低学歴知恵遅れの知能が低いヤツにオブジェクト指向はキチガイに刃物
銃刀法違反なみの重罪
コレは定説
低学歴知恵遅れの知能が低いヤツにオブジェクト指向はキチガイに刃物
銃刀法違反なみの重罪
コレは定説
672デフォルトの名無しさん
2018/10/13(土) 18:53:51.58ID:T9MlimPF キチガイ登場
こわい
こわい
673デフォルトの名無しさん
2018/10/13(土) 19:04:43.08ID:L3Dj2/gz そもそもdbにはいっぱい個人情報が一杯つまってる
こっちのほうが重大な問題だからな
表ごとにセキュリティレベルがあるのも当然
そういった制限すらないのはヤバイ会社
だれがいつそういった情報を取得スしたか
どんな業務で誰の承認で取得したか
ちゃんと履歴が必要になる
こっちのほうが重大な問題だからな
表ごとにセキュリティレベルがあるのも当然
そういった制限すらないのはヤバイ会社
だれがいつそういった情報を取得スしたか
どんな業務で誰の承認で取得したか
ちゃんと履歴が必要になる
674デフォルトの名無しさん
2018/10/13(土) 21:11:38.49ID:iFQl0LJl いっぱい一杯
675デフォルトの名無しさん
2018/10/13(土) 22:25:56.64ID:/vvsi1/9 Excel VBAの話をしてよ
676デフォルトの名無しさん
2018/10/14(日) 00:37:19.40ID:Q3eQCyRU excel vbaで語ることなんかあんの
excel vbaで語るなら、それを併用して得られるメリットぐらいしかない
excel vbaでなんかいいことあった?
excel vbaで語るなら、それを併用して得られるメリットぐらいしかない
excel vbaでなんかいいことあった?
677デフォルトの名無しさん
2018/10/14(日) 10:50:03.22ID:xKzvoEYL >>676
おまえはなんの話をしているんだ?スレ名読めんのか?
おまえはなんの話をしているんだ?スレ名読めんのか?
678デフォルトの名無しさん
2018/10/14(日) 11:16:34.21ID:RzJcTIeH679デフォルトの名無しさん
2018/10/14(日) 15:42:57.90ID:jfwl8Yip >>676
彼女ができました
彼女ができました
680デフォルトの名無しさん
2018/10/15(月) 21:16:00.15ID:E6pr56BO 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
681デフォルトの名無しさん
2018/10/16(火) 03:46:59.80ID:SShwrEAs 激しくスレチ
682デフォルトの名無しさん
2018/10/16(火) 15:17:46.48ID:ZlBiMRvR excel vbaの話題がない、最近使ってないし
683デフォルトの名無しさん
2018/10/16(火) 19:43:27.94ID:VGXZfwAw 別に無いならないでそれでよかろう。話題がないとお前は困るのか?
684682
2018/10/16(火) 20:24:31.25ID:wwtQC7N8 >>683
困るから言っておるのだ
困るから言っておるのだ
685デフォルトの名無しさん
2018/10/16(火) 20:33:30.35ID:7RIuHdb8 yahoo知恵遅れなら毎日うんざりするような質問だらけだよ
686デフォルトの名無しさん
2018/10/16(火) 20:35:04.21ID:H029zngb ヤホーよりプロさんの方がバカっぽいけどねw
687デフォルトの名無しさん
2018/10/16(火) 20:58:20.65ID:7RIuHdb8 知恵遅れでの"VBA" "VBスクリプト" "マクロ"いずれかを含む質問数、過去24時間に76投稿
回答者もうんざりしてる
回答者もうんざりしてる
688デフォルトの名無しさん
2018/10/16(火) 22:01:20.92ID:QoFGLA2x エクセルの鉄則:達人であることは隠せ
https://jp.wsj.com/articles/SB10750612626653313748604584520883598309574
「次々と人がやって来ては『エクセル...
https://jp.wsj.com/articles/SB10750612626653313748604584520883598309574
「次々と人がやって来ては『エクセル...
689デフォルトの名無しさん
2018/10/16(火) 23:49:27.99ID:LqxRfbs7 ここが面白く無いせいでPowerShellerがExcelスレまで荒らしに来てて困る。
690デフォルトの名無しさん
2018/10/17(水) 13:34:37.11ID:i+REgo0L カンマ区切りのcsvをデータインポートで読み込むと一部がズレます
csvを一度メモ帳に全部貼り付けて、それをexcelに貼ったあとデータ区切りでカンマを選ぶと上手く取り込めます
この挙動の違いがイマイチよく分からないんですがどうしてメモ帳に貼り付けることで上手く読み込めるようになるんでしょうか
csvを一度メモ帳に全部貼り付けて、それをexcelに貼ったあとデータ区切りでカンマを選ぶと上手く取り込めます
この挙動の違いがイマイチよく分からないんですがどうしてメモ帳に貼り付けることで上手く読み込めるようになるんでしょうか
691デフォルトの名無しさん
2018/10/17(水) 13:46:32.94ID:tHw/Qu/E そら貼り付けとデータインポートは別の機能だからだよ
Excelは既存の機能の動作がわずかでも変わったら必ずマクロが動かんようになったやないかどないしてくれんねんボケと山ほどの馬鹿が怒鳴り込んでくる
似た機能を追加したから共通化しますね〜と安易に仕様変更できず、大量の機能の重複を抱えながら昔のバグっぽい挙動も尊重して個別にメンテしてるの
このスレにいるような連中のせいでな
Excelは既存の機能の動作がわずかでも変わったら必ずマクロが動かんようになったやないかどないしてくれんねんボケと山ほどの馬鹿が怒鳴り込んでくる
似た機能を追加したから共通化しますね〜と安易に仕様変更できず、大量の機能の重複を抱えながら昔のバグっぽい挙動も尊重して個別にメンテしてるの
このスレにいるような連中のせいでな
692デフォルトの名無しさん
2018/10/17(水) 14:48:36.05ID:9GZlDgUm >>690
データのせい
データのせい
693デフォルトの名無しさん
2018/10/17(水) 14:59:38.33ID:uJo2tnoC694デフォルトの名無しさん
2018/10/17(水) 16:42:17.32ID:i+REgo0L ありがとうございます
bomとかそういう感じですかね
また、うまく読み込めないのは一部utf8形式の文字コード?があり、それをsjisに変換出来ないのが原因のようでした
データインポートでutfを選択したら無事開けました
bomとかそういう感じですかね
また、うまく読み込めないのは一部utf8形式の文字コード?があり、それをsjisに変換出来ないのが原因のようでした
データインポートでutfを選択したら無事開けました
695デフォルトの名無しさん
2018/10/17(水) 17:06:43.54ID:S++6iW66696デフォルトの名無しさん
2018/10/17(水) 18:02:13.22ID:5pOkIjLu 半角と全角の混在で全角だけUTF-8とか
697デフォルトの名無しさん
2018/10/17(水) 18:07:18.62ID:7Q2iPe/Z ダブルクォーテーションとカンマのくくりが上手く行ってないとか
698デフォルトの名無しさん
2018/10/17(水) 19:38:14.44ID:uJo2tnoC >>696
あたりまえ、UTFもShiftJISも英数は同じ
あたりまえ、UTFもShiftJISも英数は同じ
699デフォルトの名無しさん
2018/10/17(水) 23:31:27.45ID:SJQ0JWQn 英数だけが半角とは限らんがな
ココニカケルカナ
ココニカケルカナ
700デフォルトの名無しさん
2018/10/18(木) 13:31:04.71ID:ks5As5t+ セル内改行でひっかかってるのかも
改行コードは何種類もあるし、読み込み方法によって正常に認識してくれないケースがあるから
改行コードは何種類もあるし、読み込み方法によって正常に認識してくれないケースがあるから
701デフォルトの名無しさん
2018/10/18(木) 13:46:30.50ID:B1wZDxhL >>700
メモ帳経由だとうまくいくってのと整合しない
メモ帳経由だとうまくいくってのと整合しない
702デフォルトの名無しさん
2018/10/18(木) 14:30:43.91ID:vpgDyIt0 >>694 で解決報告あるのに何をいつまで考えてるのw
703デフォルトの名無しさん
2018/10/18(木) 19:04:18.15ID:ekkKNanr 自分でもしっかりと把握してないので書くつもり無かったんですが一応解決の詳細書きますね
まずダブルクォーテーションやカンマはないです
あと自分の理解と説明が足りてませんでした
一部utf8ではなく全部utf8で基本普通の英文字と数字なのでsjisでもぱっと見問題なく開けるけどクエリストリングのカラムにノーブレーキングスペース?やsjis対応してない文字列があり、そこで上手いこと処理出来てなかったみたいです
utf8をsjis指定でデータインポートしようとしたのが間違いの発端でしたスミマセン
まずダブルクォーテーションやカンマはないです
あと自分の理解と説明が足りてませんでした
一部utf8ではなく全部utf8で基本普通の英文字と数字なのでsjisでもぱっと見問題なく開けるけどクエリストリングのカラムにノーブレーキングスペース?やsjis対応してない文字列があり、そこで上手いこと処理出来てなかったみたいです
utf8をsjis指定でデータインポートしようとしたのが間違いの発端でしたスミマセン
704デフォルトの名無しさん
2018/10/18(木) 19:33:45.83ID:vpgDyIt0 いやいやおつかれさま
705デフォルトの名無しさん
2018/10/18(木) 23:12:45.91ID:wIeiUTi/ WorkSheet_Changeでセルの内容に変化があったときだけ文字色を赤にする処理を行おうとしています
対象が単体ならApplication.Undoで比較できますが、複数の場合1セルずつに対してUndoができないため
対象全体の内容を一時シートにコピー→For Eachで元データと1つずつ比較しているのですが、もっとスマートな方法はあるでしょうか?
対象が単体ならApplication.Undoで比較できますが、複数の場合1セルずつに対してUndoができないため
対象全体の内容を一時シートにコピー→For Eachで元データと1つずつ比較しているのですが、もっとスマートな方法はあるでしょうか?
706デフォルトの名無しさん
2018/10/18(木) 23:38:51.56ID:fhgndB5P >>705
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Font.Color = -16776961
End Sub
これで良いのでは???
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Font.Color = -16776961
End Sub
これで良いのでは???
707デフォルトの名無しさん
2018/10/18(木) 23:45:12.89ID:wIeiUTi/ 書き方が不正確でした
「対象セルの値が変更される前と一致しない場合にのみ」文字色を変えたい、です
「対象セルの値が変更される前と一致しない場合にのみ」文字色を変えたい、です
708デフォルトの名無しさん
2018/10/18(木) 23:54:42.06ID:vpgDyIt0 赤くしなくても共有と変更履歴で代用可能だろ
709デフォルトの名無しさん
2018/10/18(木) 23:58:11.74ID:fhgndB5P >>707
あぁそういう事か、すまん
今「excel change before」で調べただけだけど、そうするしかなさそう
selectionchangeでselectionの内容を保存しておくみたいだねぇ
よー考えるわ
あぁそういう事か、すまん
今「excel change before」で調べただけだけど、そうするしかなさそう
selectionchangeでselectionの内容を保存しておくみたいだねぇ
よー考えるわ
710デフォルトの名無しさん
2018/10/18(木) 23:58:42.58ID:fhgndB5P711デフォルトの名無しさん
2018/10/19(金) 14:49:27.87ID:2evJVEIF くそう、↑のやり方以外が思いつかない。
セルにtagプロパティでもありゃ前値保持できるのに。。
赤字にしたい目的がわかれば、そもそも別の簡単な手とかあるかも?(逃げ)
セルにtagプロパティでもありゃ前値保持できるのに。。
赤字にしたい目的がわかれば、そもそも別の簡単な手とかあるかも?(逃げ)
712デフォルトの名無しさん
2018/10/19(金) 21:19:57.26ID:acLDgyPd >>711
Excelをフロントエンドにしたデータベース管理です
一度に複数のデータを弄ることが多いため、フォームではなくテーブルに直接データを読み込み、編集後に更新といった流れで、この更新部分の判定を文字色で行っています
作業者自身も更新前にどこを変更したかひと目でわかると考えてこの方法を取ってますが、もっとベターな方法があるなら全然乗り換えたいです
Excelをフロントエンドにしたデータベース管理です
一度に複数のデータを弄ることが多いため、フォームではなくテーブルに直接データを読み込み、編集後に更新といった流れで、この更新部分の判定を文字色で行っています
作業者自身も更新前にどこを変更したかひと目でわかると考えてこの方法を取ってますが、もっとベターな方法があるなら全然乗り換えたいです
713デフォルトの名無しさん
2018/10/19(金) 21:42:58.96ID:yGBPiuMh 編集後・更新
この間に変更する予定のセルに対して処理をかませることができそう、というか出来るだろう
この間に変更する予定のセルに対して処理をかませることができそう、というか出来るだろう
714デフォルトの名無しさん
2018/10/19(金) 23:04:57.15ID:MRFHlf9T Vue.js などのウォッチャ・データバインド・リアクティブシステムだろ
データ更新前後のフックは、無いのか?
データ更新前後のフックは、無いのか?
715デフォルトの名無しさん
2018/10/20(土) 02:32:55.91ID:ZiSB9nEL Ifとforだけでとりあえず簡単な処理くらいはさせられるようになったんだけど、次は何を学べば順当にステップアップできる?
イベントプロシージャもダブルクリックだけは理解した
Constで柔軟なコード書くのも学んだ
配列はいまいち便利な使い道がわからない
イベントプロシージャもダブルクリックだけは理解した
Constで柔軟なコード書くのも学んだ
配列はいまいち便利な使い道がわからない
716デフォルトの名無しさん
2018/10/20(土) 06:58:16.21ID:JSzrZOTM >>715
処理の制御自体は分岐と繰り返しを覚えれば大抵なんとかなる。
ロジックをよりスマートにしたい。処理時間を短縮したい等なら、配列やアルゴリズム等の効率的なやり方が必須になる。
特に、セルを使うならば配列は絶対使ったほうがいい。二次元配列と聞くとよくわからなそうだが、
(y軸,x軸) を指定するだけだから、一見難しそうに見えても簡単だよ。
あとは、何をやりたいかによるかな。それによって取得するべき技術が決まってくると思う。
処理の制御自体は分岐と繰り返しを覚えれば大抵なんとかなる。
ロジックをよりスマートにしたい。処理時間を短縮したい等なら、配列やアルゴリズム等の効率的なやり方が必須になる。
特に、セルを使うならば配列は絶対使ったほうがいい。二次元配列と聞くとよくわからなそうだが、
(y軸,x軸) を指定するだけだから、一見難しそうに見えても簡単だよ。
あとは、何をやりたいかによるかな。それによって取得するべき技術が決まってくると思う。
717デフォルトの名無しさん
2018/10/20(土) 07:07:20.99ID:JSzrZOTM >>715
配列使った方がいい理由を補足すると、
配列変数を使えば、変数の数を大幅に減らすことができるかつ、ループ文を使って1から最大数までアクセスがしやすいから。例えば、人間という名前の違う変数を別々に100人定義するのは面倒。
だが、配列変数を使えば1行で定義できる。
セルに関して言うと、VBAはセルにアクセスした際に大幅に時間を使う。値を編集するたびに毎回セルにアクセスするよりも、配列変数に格納をして、まるごとセルに代入するようにすれば、アクセスは1回で済む。
(それっぽく例えるなら、積み木を片付ける時に1つずつ摘まんで箱に入れるか、形を整えた後まとめて箱に入れるかの違い)
配列使った方がいい理由を補足すると、
配列変数を使えば、変数の数を大幅に減らすことができるかつ、ループ文を使って1から最大数までアクセスがしやすいから。例えば、人間という名前の違う変数を別々に100人定義するのは面倒。
だが、配列変数を使えば1行で定義できる。
セルに関して言うと、VBAはセルにアクセスした際に大幅に時間を使う。値を編集するたびに毎回セルにアクセスするよりも、配列変数に格納をして、まるごとセルに代入するようにすれば、アクセスは1回で済む。
(それっぽく例えるなら、積み木を片付ける時に1つずつ摘まんで箱に入れるか、形を整えた後まとめて箱に入れるかの違い)
718デフォルトの名無しさん
2018/10/20(土) 07:49:40.17ID:/P2yZ5ci719デフォルトの名無しさん
2018/10/20(土) 08:15:19.11ID:A4xnc2/3 >>715
シートはセルの二次元配列
ブックはシートの一次元配列
合わせて三次元の配列
元々エクセル自体が配列の塊なので、
vba上だけで配列を持たなくてもなんとかできるようにはなっている
他のプログラムだと配列なしなんてありえないんだけどね
vbaで配列を扱う大きなメリットとしては、爆速にできる事
で、そこまで来たら何を覚えるかだけど
・objectの扱い。set foo = sheets("name")
・fso(filesystemobject)
この辺かね〜
他言語やるなら俺もpythonがオススメ
シートはセルの二次元配列
ブックはシートの一次元配列
合わせて三次元の配列
元々エクセル自体が配列の塊なので、
vba上だけで配列を持たなくてもなんとかできるようにはなっている
他のプログラムだと配列なしなんてありえないんだけどね
vbaで配列を扱う大きなメリットとしては、爆速にできる事
で、そこまで来たら何を覚えるかだけど
・objectの扱い。set foo = sheets("name")
・fso(filesystemobject)
この辺かね〜
他言語やるなら俺もpythonがオススメ
720デフォルトの名無しさん
2018/10/20(土) 09:34:05.81ID:46UfR13B721デフォルトの名無しさん
2018/10/20(土) 11:18:59.41ID:+OPbDxrw あ・・・Application.Workbooks(3).Worksheets(1).Cells(1, 1).Characters(2, 2).Font.Color = vbRed
722デフォルトの名無しさん
2018/10/20(土) 11:51:10.77ID:ZiSB9nEL 参考になります!説明がとても分かりやすいですね 尊敬します
配列を学ぶことでの処理の高速化も理解できました
setはサンプルコードでよく見かけるなとは思ってたけど、詳しく掘り下げてみます
fsoは初耳なのでじっくり学びます
Pythonも並行して学びたいと思ってたのでちょうどいいタイミングみたいですね
ありがとうございました。
配列を学ぶことでの処理の高速化も理解できました
setはサンプルコードでよく見かけるなとは思ってたけど、詳しく掘り下げてみます
fsoは初耳なのでじっくり学びます
Pythonも並行して学びたいと思ってたのでちょうどいいタイミングみたいですね
ありがとうございました。
723デフォルトの名無しさん
2018/10/20(土) 12:18:11.17ID:4zkFVcA8 for each文かな
724デフォルトの名無しさん
2018/10/20(土) 12:25:25.27ID:A4xnc2/3 あぁfor eachは必須だね
725デフォルトの名無しさん
2018/10/20(土) 13:40:10.36ID:fOofNO0j >>715
余裕があるならアセンブリ言語をちょっと齧っとくのがいいと思う
余裕があるならアセンブリ言語をちょっと齧っとくのがいいと思う
>>725
アセンブラとか環境とかはどう調達すればいいのでしょうか?
アセンブラとか環境とかはどう調達すればいいのでしょうか?
727デフォルトの名無しさん
2018/10/20(土) 14:48:16.50ID:wrk6+Nbn masm とか nasm とかのキーワードで調べる
っていうか、vbaの範囲外のことまでここで聞くなよ
っていうか、vbaの範囲外のことまでここで聞くなよ
728デフォルトの名無しさん
2018/10/20(土) 17:52:59.67ID:b1m8oY5e729デフォルトの名無しさん
2018/10/20(土) 18:35:11.69ID:fOofNO0j >>726
齧るだけだからネットで調べてだいたいの仕組みが分かればそれでいいんだよ
「アセンブラ 入門 casl」でググって見つかったサイトで勉強してみるのがいいと思う
資格の勉強にもなるし
やる気あるなら機械語が使えるポケコンを買って実際に
ハンドアセンブルしてみるのもいいかも
齧るだけだからネットで調べてだいたいの仕組みが分かればそれでいいんだよ
「アセンブラ 入門 casl」でググって見つかったサイトで勉強してみるのがいいと思う
資格の勉強にもなるし
やる気あるなら機械語が使えるポケコンを買って実際に
ハンドアセンブルしてみるのもいいかも
>>729
casl2 は気が進まなくって…だってハードがないんでしょう?
casl2 は気が進まなくって…だってハードがないんでしょう?
731デフォルトの名無しさん
2018/10/20(土) 19:45:41.44ID:fOofNO0j732デフォルトの名無しさん
2018/10/21(日) 09:08:05.20ID:kG1rnb84 オデッセイのやってるvbaの試験受けてvbaスタンダードに合格したけど、
これ実際にvbaでプログラム作れって言われても絶対作れないな。
何が言いたいかって、お前らすげーわ。
これ実際にvbaでプログラム作れって言われても絶対作れないな。
何が言いたいかって、お前らすげーわ。
733デフォルトの名無しさん
2018/10/21(日) 11:55:37.97ID:ENQ8JUj5 >>730
ハートもないやつがなにいってる
ハートもないやつがなにいってる
734デフォルトの名無しさん
2018/10/21(日) 12:30:29.51ID:jhIwJ9RB vbaで色々ツール作ってるけど、自分しか使わないっていうので設計雑になっちゃう。
後の機能追加等考えるとクラスモジュール使って役割ハッキリさせた設計が良いんだろうけど、結局書くのが楽な手続き型チックになっちゃうのよね
後の機能追加等考えるとクラスモジュール使って役割ハッキリさせた設計が良いんだろうけど、結局書くのが楽な手続き型チックになっちゃうのよね
735デフォルトの名無しさん
2018/10/21(日) 14:12:47.07ID:895e0oJn >>734
それは別に反省ポイントじゃない
それは別に反省ポイントじゃない
736デフォルトの名無しさん
2018/10/21(日) 14:42:48.38ID:3rYBWp0g 自分を省みるのは良いことだよ
737デフォルトの名無しさん
2018/10/21(日) 17:38:59.00ID:PQvzxFzP VBAはコードのスタイル云々以前に存在自体が基本的に悪なので、実務においてはいかに使用を最小限にとどめながら要件を満たすかが最も重要だよ
VBAがあるだけでメンテができる人が数十分の一になるんだから
VBAがあるだけでメンテができる人が数十分の一になるんだから
738デフォルトの名無しさん
2018/10/21(日) 18:02:16.30ID:97mpJlTr VBA撲滅委員会でも作ってその会長にでもなれ
739デフォルトの名無しさん
2018/10/21(日) 18:14:38.25ID:PQvzxFzP740デフォルトの名無しさん
2018/10/21(日) 19:06:18.04ID:jhIwJ9RB VBAの存在が基本的に悪という理由って何だ?
文面から見て、メンテできる人(使用者)が少ないからという風に捉えているんだが…
もしそれが理由ならば、職場によるのではないか?
文面から見て、メンテできる人(使用者)が少ないからという風に捉えているんだが…
もしそれが理由ならば、職場によるのではないか?
741デフォルトの名無しさん
2018/10/21(日) 19:13:25.11ID:jhIwJ9RB ただ、以前にマクロを修正する案件をやった時
初めて他者の書いたコードをしっかり見ることになったが…まぁ見辛いし目的が捉えづらく苦労した。
ろくなドキュメントも残っていなかったしね。
でもそれは、コードの改善や仕様書をしっかり残せば解決する問題であって、決して言語そのもののせいではないと私は思っているよ。
初めて他者の書いたコードをしっかり見ることになったが…まぁ見辛いし目的が捉えづらく苦労した。
ろくなドキュメントも残っていなかったしね。
でもそれは、コードの改善や仕様書をしっかり残せば解決する問題であって、決して言語そのもののせいではないと私は思っているよ。
742デフォルトの名無しさん
2018/10/21(日) 19:36:36.64ID:MDetJiiM 言語や開発環境が悪いからユーザーが集まらない
言語や開発環境が悪いからユーザーが育たない
言語や開発環境が悪いから汚いコードが作られやすい
全てとは言わないが大きな影響力を持ってるのは否定できないな
言語や開発環境が悪いからユーザーが育たない
言語や開発環境が悪いから汚いコードが作られやすい
全てとは言わないが大きな影響力を持ってるのは否定できないな
743デフォルトの名無しさん
2018/10/21(日) 19:54:07.49ID:y1r4bkf6 >>734
言うてもそんなに長くならないので、コメントさえしっかり書いておけば大丈夫だよ
言うてもそんなに長くならないので、コメントさえしっかり書いておけば大丈夫だよ
744デフォルトの名無しさん
2018/10/21(日) 20:57:14.28ID:Mf4U6jjq Pythonを使える環境ならPythonでExcelを操作できるようになっといたほうが将来的に有意義なんですかね
745デフォルトの名無しさん
2018/10/21(日) 21:27:31.42ID:y1r4bkf6746デフォルトの名無しさん
2018/10/21(日) 21:55:52.80ID:Df7SvDdo 知恵遅れに毎日60以上ののVBA低レベ質問が恒常的に続くのは、商業科がExcelを教科に入れてるせいか?
VBA、大学教養のC課題、ネトゲーマーのUWSC自動化の三馬鹿うんざりトリオをなんとかして欲しい
VBA、大学教養のC課題、ネトゲーマーのUWSC自動化の三馬鹿うんざりトリオをなんとかして欲しい
747デフォルトの名無しさん
2018/10/21(日) 22:00:53.93ID:y1r4bkf6 無視したら
748デフォルトの名無しさん
2018/10/24(水) 20:08:02.64ID:VKzyLxGu どうせ半年後は.jsになってるんだし
749デフォルトの名無しさん
2018/10/24(水) 21:19:25.29ID:I9F6CV18 昔アセンブラやってたけど
今はアセンブラの知識なんて
まず糞の役にもたたない
悪いことは言わないから
IL止まりにしておいて
残りの時間を他の言語の学習に回した方がいい
今はアセンブラの知識なんて
まず糞の役にもたたない
悪いことは言わないから
IL止まりにしておいて
残りの時間を他の言語の学習に回した方がいい
750デフォルトの名無しさん
2018/10/24(水) 23:52:56.26ID:PFCPc8y/ VBAってWinAPI 使えるんだな
入力もエクセルのシート利用できるし使いがっていいなこれ
自分だけ使うものはこれで十分な気がしてきた
入力もエクセルのシート利用できるし使いがっていいなこれ
自分だけ使うものはこれで十分な気がしてきた
751デフォルトの名無しさん
2018/10/25(木) 00:03:26.58ID:lvTxqVIL 二次元配列に入力できるってかなり神がかってると思う
752デフォルトの名無しさん
2018/10/25(木) 08:52:35.61ID:VGA0KlB2 何を二次元配列に入力できる事が神がかってるの?
753デフォルトの名無しさん
2018/10/25(木) 09:32:39.27ID:r31i+JfI 人間が抽象化なしで無理なく扱えるデータは二次元の表までなのは確かだな
特別な技能を持たない人間の能力的限界がExcel
特別な技能を持たない人間の能力的限界がExcel
754デフォルトの名無しさん
2018/10/25(木) 11:20:28.64ID:Poeqy0yu 行(列)をベクトルだとみなすと何次元にでもなるでしょ
テンソル入れ物にするメリットってあるか?
レベル上がると有益になるのかな
テンソル入れ物にするメリットってあるか?
レベル上がると有益になるのかな
755デフォルトの名無しさん
2018/10/25(木) 18:41:01.78ID:lvTxqVIL >752
文字列と数値。ってかこれ以外セルには入れられないでしょ。オブジェクトは入れられないし
文字列と数値。ってかこれ以外セルには入れられないでしょ。オブジェクトは入れられないし
756デフォルトの名無しさん
2018/10/26(金) 00:13:09.54ID:Inq2or/E 何を〜に入力できる?
って質問に対して間違っちゃいないが...
って質問に対して間違っちゃいないが...
757デフォルトの名無しさん
2018/10/26(金) 01:08:48.00ID:SUBF4wRe758デフォルトの名無しさん
2018/10/26(金) 07:12:48.70ID:xKW3LLWl セルって単語が後出しだからこうなるんだよ
759デフォルトの名無しさん
2018/10/26(金) 08:36:50.37ID:QS/Z6hlA わかるなら聞くなよハゲども
なんでハゲてるか自問してろ
なんでハゲてるか自問してろ
760デフォルトの名無しさん
2018/10/26(金) 10:34:09.86ID:FHu9JUdN >>750
当然だがWinAPIだけじゃなくVB呼び出しに適う任意のAPIが呼べるから、自分だけの環境なら何だって可能
当然だがWinAPIだけじゃなくVB呼び出しに適う任意のAPIが呼べるから、自分だけの環境なら何だって可能
761デフォルトの名無しさん
2018/10/26(金) 10:45:47.31ID:REmVcuAB 解凍・圧縮用のdllであるunlha32やらunzip32なんかもちゃんと用意されていて、vbaから利用できるしな
762デフォルトの名無しさん
2018/10/26(金) 12:00:29.68ID:FHu9JUdN763デフォルトの名無しさん
2018/10/26(金) 13:41:39.22ID:FXq8Nzbn 「自分だけの環境」の話だろw
764デフォルトの名無しさん
2018/10/26(金) 20:18:33.42ID:7acxRmxq それ言い出すとシェル呼び出してそこから外部プログラムの実行でなんでもできるわな
765デフォルトの名無しさん
2018/10/27(土) 00:10:36.89ID:64tA3ZzD それだと最早Excel VBAを起点にする意味がないんだよなぁ
766デフォルトの名無しさん
2018/10/27(土) 09:39:45.10ID:z1SsyyeN 戻り値主体の関数的な使い方がしにくいのでは?
767デフォルトの名無しさん
2018/10/27(土) 12:17:32.77ID:nqyfF+/M なんで何でもできたら悪いみたいな言い方やねん
768デフォルトの名無しさん
2018/10/27(土) 15:13:38.94ID:gKMunlkh 彼女の作り方がわからない
769デフォルトの名無しさん
2018/10/27(土) 17:08:31.91ID:arx5iKp2 事務の女性をお得意のVBAで助けてやるんだ
770デフォルトの名無しさん
2018/10/27(土) 20:08:09.98ID:9XazvJsa 助けてあげても一瞬感謝されるだけで何も起こらないぞ
下手すると感謝すらされない
下手すると感謝すらされない
771デフォルトの名無しさん
2018/10/27(土) 21:27:07.52ID:EQmtOnig >>770
そう、気づかないんだよな・・・
そう、気づかないんだよな・・・
772デフォルトの名無しさん
2018/10/27(土) 23:46:47.86ID:bYiR1b6u 助けても後出しで本当はこうしたいのにできてないだの文句言われる
773デフォルトの名無しさん
2018/10/28(日) 06:55:12.79ID:xmv6f/Y+ 全然助けれとらんやんwプロさんあわれwww
774デフォルトの名無しさん
2018/10/28(日) 09:41:11.55ID:U+AZbxUR ちょっとしたことでいいからピンポイントで教えてあげる。
食いついてこなかったら諦める。
食いついてこなかったら諦める。
775デフォルトの名無しさん
2018/10/28(日) 10:40:54.72ID:o08My3f7 ExcelVBAで、女にもてるようになる方法スレ w
776デフォルトの名無しさん
2018/10/28(日) 11:02:16.86ID:eT9vyE0h ランダムアクセスファイルでデータ管理をしています。
いままで動いていたものが GET PUT で 「レコード長が一致しない」となります。
一部こんな感じです。
Const MONTH_SIZE As Long = 60
Type M_Rec
S_code As Long
Stock As Long
byCode As String * 8
M_id_Cre(MONTH_SIZE) As Integer
End Type
Public S_MAIN_REC As M_Rec
Open FileName For Random As #SmainNO Len = Len(S_MAIN_REC)
Get #SmainNO, indexNo, S_MAIN_REC
この標準モジュールを破棄して同じモジュールをインポートすると
正常に動きますがワークブックを保存して再起動し同じ処理をすると
エラーになります。
Public S_MAIN_REC As M_Rec の 記述場所を移動させると正常に
動きましたがモジュール内に新規プロシージャを追加したらまた
エラーが出るようになりました。
モジュールが壊れていると思い新しく作成しても同じでした。
ご意見お願いします。
現在ユーザ定義 の M_id_Cre(MONTH_SIZE) As Integer の配列を
61に変更し正常動作中です。
いままで動いていたものが GET PUT で 「レコード長が一致しない」となります。
一部こんな感じです。
Const MONTH_SIZE As Long = 60
Type M_Rec
S_code As Long
Stock As Long
byCode As String * 8
M_id_Cre(MONTH_SIZE) As Integer
End Type
Public S_MAIN_REC As M_Rec
Open FileName For Random As #SmainNO Len = Len(S_MAIN_REC)
Get #SmainNO, indexNo, S_MAIN_REC
この標準モジュールを破棄して同じモジュールをインポートすると
正常に動きますがワークブックを保存して再起動し同じ処理をすると
エラーになります。
Public S_MAIN_REC As M_Rec の 記述場所を移動させると正常に
動きましたがモジュール内に新規プロシージャを追加したらまた
エラーが出るようになりました。
モジュールが壊れていると思い新しく作成しても同じでした。
ご意見お願いします。
現在ユーザ定義 の M_id_Cre(MONTH_SIZE) As Integer の配列を
61に変更し正常動作中です。
777デフォルトの名無しさん
2018/10/28(日) 11:41:59.08ID:THaxkhg7 さすがに時代遅れにも程がある
そんな黴の生えたゴミカスは今すぐ捨てて普通にワークシートで管理するかDBにしろ
そんな黴の生えたゴミカスは今すぐ捨てて普通にワークシートで管理するかDBにしろ
778デフォルトの名無しさん
2018/10/28(日) 15:41:48.78ID:9UvKiQNH 言い過ぎ。しかしランダムアクセスファイルとは懐かしい
779776
2018/10/28(日) 16:59:37.36ID:eT9vyE0h すみません
もともとはワークシートで管理していたのですがファイルのほうが
都合が良いので変更しました。
もともとはワークシートで管理していたのですがファイルのほうが
都合が良いので変更しました。
780デフォルトの名無しさん
2018/10/28(日) 17:01:07.70ID:ISWax1Kh で、今まさにその前提が間違っていたことが判明したんだろ?
直ちに戻しなさい
直ちに戻しなさい
781デフォルトの名無しさん
2018/10/28(日) 20:08:41.54ID:4pkRNiip 馬鹿の特徴
動きません
エラーが起きます
決して具体的なエラーメッセージを書かない
動きません
エラーが起きます
決して具体的なエラーメッセージを書かない
782デフォルトの名無しさん
2018/10/28(日) 21:40:15.40ID:uzLWPyey バカの特徴
書いてあるエラーメッセージを理解できずに自爆 w
> GET PUT で 「レコード長が一致しない」となります。
書いてあるエラーメッセージを理解できずに自爆 w
> GET PUT で 「レコード長が一致しない」となります。
783デフォルトの名無しさん
2018/10/28(日) 23:30:32.75ID:9UvKiQNH ここの住人回答者は居丈高だからteratailにでも質問なさい。
ただコード具体例とエラー詳細はいずれにせよ求められるけど
ただコード具体例とエラー詳細はいずれにせよ求められるけど
784デフォルトの名無しさん
2018/10/29(月) 00:30:55.69ID:4Xu2UR6y >>782
馬鹿は表面的なことしか見えない
馬鹿は表面的なことしか見えない
785デフォルトの名無しさん
2018/10/29(月) 04:51:38.42ID:xpZzwKyb >>784
表面的なことすら見えてないバカの自爆乙 w
表面的なことすら見えてないバカの自爆乙 w
786デフォルトの名無しさん
2018/10/29(月) 09:45:00.02ID:uMisuGYK 初心者には環境とかエラーの詳細な条件を明記することへの心理的な障壁があります
その心理の正体は一体何でしょう?
その心理の正体は一体何でしょう?
787デフォルトの名無しさん
2018/10/29(月) 10:53:33.28ID:VYDzXbvz 慣れの問題かと
・自信ないのでミス指摘されたくないなどの自尊心問題
・コンプライアンスリスクとの取り違え
・個人情報リスクとの取り違え
・自信ないのでミス指摘されたくないなどの自尊心問題
・コンプライアンスリスクとの取り違え
・個人情報リスクとの取り違え
788776
2018/10/29(月) 11:24:48.23ID:aqnyYxuj 少し荒れてしまいましたね、すみません
エラーは書いてあるとおり「レコード長が一致しない」
Openステートメントで指定された長さと異なるということなのですが
レコード変数やOpen Get Putのプロシージャなど変更せずに
このエラーが発生しました。多分VBAのバグだと思うのですが
詳しい方に教えていただきたく思いまして書き込みしました。
タイミングが悪かったですね。
エラーは書いてあるとおり「レコード長が一致しない」
Openステートメントで指定された長さと異なるということなのですが
レコード変数やOpen Get Putのプロシージャなど変更せずに
このエラーが発生しました。多分VBAのバグだと思うのですが
詳しい方に教えていただきたく思いまして書き込みしました。
タイミングが悪かったですね。
789デフォルトの名無しさん
2018/10/29(月) 11:33:02.57ID:f3zS/Ojj 確かにタイミングが悪かったな
20年遅いわ
今回お前が苦労して解決しても後で他の誰にも分からないんだぞ?
そんなもん押し付けられる方の身にもなってみろ
20年遅いわ
今回お前が苦労して解決しても後で他の誰にも分からないんだぞ?
そんなもん押し付けられる方の身にもなってみろ
790デフォルトの名無しさん
2018/10/29(月) 11:45:30.06ID:uMisuGYK 「VBA ファイル読み書き」で検索してOpen コマンドとかが出てくるものかねえ
791デフォルトの名無しさん
2018/10/29(月) 11:48:12.61ID:VYDzXbvz ?出てくるぞ?あたりまえだろ
792デフォルトの名無しさん
2018/10/29(月) 14:25:31.25ID:gsxtgvfG >多分VBAのバグだと思うのですが
まぁ言語の方に責任を押し付けたくなるのは判るがなw
まぁ言語の方に責任を押し付けたくなるのは判るがなw
793デフォルトの名無しさん
2018/10/29(月) 15:23:05.64ID:P7hlr/PN 何わろとんねん
794デフォルトの名無しさん
2018/10/29(月) 16:45:28.78ID:gkooAort >>788
バイナリエディターでレコードファイルを確認するのと、テスト環境作ってレコードを減らしても発生するかみる
バイナリエディターでレコードファイルを確認するのと、テスト環境作ってレコードを減らしても発生するかみる
795デフォルトの名無しさん
2018/10/29(月) 18:06:20.39ID:P7hlr/PN >>794
頼む
頼む
796776
2018/10/29(月) 19:56:48.16ID:aqnyYxuj >>794
エラーになる状態ですと、新規にファイルを作成しても1レコード目でエラーとなりますので
ファイルがおかしいとは思えません。ユーザー定義のレコードサイズ、モジュール変数の
メモリ設定があやしいと思うのですが。
エラーになる状態ですと、新規にファイルを作成しても1レコード目でエラーとなりますので
ファイルがおかしいとは思えません。ユーザー定義のレコードサイズ、モジュール変数の
メモリ設定があやしいと思うのですが。
797デフォルトの名無しさん
2018/10/29(月) 23:29:14.96ID:cO8xV5Br 素人質問ですみません
エクセルで消費税を算出したいのですが、一つのセル内で完結できないでしょうか
ググっても税抜き価格と税込み価格の、二つのセルを使うものばかりでして
エクセルで消費税を算出したいのですが、一つのセル内で完結できないでしょうか
ググっても税抜き価格と税込み価格の、二つのセルを使うものばかりでして
798デフォルトの名無しさん
2018/10/29(月) 23:52:48.29ID:g/o5tBon799デフォルトの名無しさん
2018/10/30(火) 00:03:25.38ID:oqjX6NBU >>796
最小条件での動作確認しないなら俺はなにもいわない
最小条件での動作確認しないなら俺はなにもいわない
800デフォルトの名無しさん
2018/10/30(火) 00:10:19.82ID:iPJEDoz1 >>797
それVBAの質問なの?そもそも
それVBAの質問なの?そもそも
801デフォルトの名無しさん
2018/10/30(火) 12:34:46.04ID:MiaEkZFI >>797
税抜き価格を入力したら、そのセルの数値を自動的に1.08倍するマクロ
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target.Value = Int(Target.Value * 1.08)
Application.EnableEvents = True
End Sub
税抜き価格を入力したら、そのセルの数値を自動的に1.08倍するマクロ
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target.Value = Int(Target.Value * 1.08)
Application.EnableEvents = True
End Sub
802デフォルトの名無しさん
2018/10/30(火) 13:48:04.01ID:Zs94iKwt 際限なく1.08倍していきます
803デフォルトの名無しさん
2018/10/30(火) 17:38:32.50ID:D9hLQP5r 消費税は際限なく上がる
804デフォルトの名無しさん
2018/10/30(火) 18:40:58.23ID:bEYZFX0T くだらない質問だと思いますが、会社のバーコードで在庫 納品書 委託 委託精算 等 連携したものを作成する場合は初心者でどのくらい作成期間がかかるものでしょうか?
805デフォルトの名無しさん
2018/10/30(火) 18:50:13.80ID:aaXb5tV1 100年くらい見積もっておけば間違いない
806デフォルトの名無しさん
2018/10/30(火) 18:53:25.90ID:E+8/TrgC 少なくとも、SIerに委託するより>>804の給料の方が遥かに高くつくくらいの期間は間違いなくかかるよ
807デフォルトの名無しさん
2018/10/30(火) 19:15:41.01ID:bEYZFX0T >>806
因みに幾らくらいかかるものでしょうか?
因みに幾らくらいかかるものでしょうか?
808デフォルトの名無しさん
2018/10/30(火) 19:49:51.22ID:wPm+kt3H809デフォルトの名無しさん
2018/10/30(火) 20:01:06.67ID:UXC/r+zj テーブル(lo)を列毎に配列で取り出して処理したいのですが、キーを列名、値に列範囲を格納すればforループで代入できて簡潔なのでDictionaryを使ってみようと思っています。
Dim dic As Dictionary: Set dic = New Dictionary
Dim lc As ListColumn
For Each lc In lo.ListColumns
_dic.add lc.name, WorksheetFunction.Transpose(lc.DataBodyRange.value)
next lc
以上で作成した「Dictionaryの値」に格納した「配列の値」に代入が出来ません。
例えば
debug.print dic(見出しA)(1) '「ピカチュウ」が表示
dic(見出しA)(1) = "ライチュウ"
debug.print dic(見出しA)(1) '「ピカチュウ」が表示
となってしまいます。しかし以下の様に配列を格納し直すと反映されます。
debug.print dic(見出しA)(1) '「ピカチュウ」が表示
dic(見出しA) = Array("","ライチュウ", dic(見出しA)(2),・・・
debug.print dic(見出しA)(1) '「ライチュウ」が表示
修正があるたびに配列を代入し直すのは面倒なので出来れば値を直接書き換えたいのですが、どうすればいいのでしょうか。
Dim dic As Dictionary: Set dic = New Dictionary
Dim lc As ListColumn
For Each lc In lo.ListColumns
_dic.add lc.name, WorksheetFunction.Transpose(lc.DataBodyRange.value)
next lc
以上で作成した「Dictionaryの値」に格納した「配列の値」に代入が出来ません。
例えば
debug.print dic(見出しA)(1) '「ピカチュウ」が表示
dic(見出しA)(1) = "ライチュウ"
debug.print dic(見出しA)(1) '「ピカチュウ」が表示
となってしまいます。しかし以下の様に配列を格納し直すと反映されます。
debug.print dic(見出しA)(1) '「ピカチュウ」が表示
dic(見出しA) = Array("","ライチュウ", dic(見出しA)(2),・・・
debug.print dic(見出しA)(1) '「ライチュウ」が表示
修正があるたびに配列を代入し直すのは面倒なので出来れば値を直接書き換えたいのですが、どうすればいいのでしょうか。
810デフォルトの名無しさん
2018/10/30(火) 20:25:09.48ID:4tQqoM/4 >>809
そもそもlo.ListColumns(lc.Name).Range.Item(Index).Value でテーブル内のセル値のセッターにアクセス出来るので、わざわざそんなことをやる必要がないと思う
仕様上ListObjectは列名重複が許されないし、ListColumnsコレクション自体がDictionaryと殆ど等価のハッシュテーブルになる
そもそもlo.ListColumns(lc.Name).Range.Item(Index).Value でテーブル内のセル値のセッターにアクセス出来るので、わざわざそんなことをやる必要がないと思う
仕様上ListObjectは列名重複が許されないし、ListColumnsコレクション自体がDictionaryと殆ど等価のハッシュテーブルになる
811デフォルトの名無しさん
2018/10/30(火) 20:50:28.74ID:UXC/r+zj ありがとうございます
現在はそうしているのですが(元々それがやりたくて全部テーブルに置き換えたのですが)
値を取り出すときに毎回ListColumns(lc.Name).DataBodyRange(Index).Valueと長々書く為コードが読みづらいのと、配列にすればちょっと速度改善が見込めるかなと思って試していました。
現在はそうしているのですが(元々それがやりたくて全部テーブルに置き換えたのですが)
値を取り出すときに毎回ListColumns(lc.Name).DataBodyRange(Index).Valueと長々書く為コードが読みづらいのと、配列にすればちょっと速度改善が見込めるかなと思って試していました。
812デフォルトの名無しさん
2018/10/31(水) 13:51:41.06ID:OKzw5dxl Dictionaryの代替以外の回答もお待ちしてます。
あと追加で質問なのですが、先ほどのTransposeの様にワークシート関数を利用するなら配列ではなくセル範囲の方が速いという記事を見つけました。
どういう原因でそうなるのでしょうか?
あと追加で質問なのですが、先ほどのTransposeの様にワークシート関数を利用するなら配列ではなくセル範囲の方が速いという記事を見つけました。
どういう原因でそうなるのでしょうか?
813デフォルトの名無しさん
2018/10/31(水) 17:54:26.42ID:Dz4usJiG 一般的にユーザーによる同等のVBAコードよりワークシート関数の方が速い
C#とかよりC++ネイティブの方が数〜倍速くなるのと同じ
C#とかよりC++ネイティブの方が数〜倍速くなるのと同じ
814デフォルトの名無しさん
2018/10/31(水) 18:27:27.91ID:b54HYVzl815デフォルトの名無しさん
2018/10/31(水) 18:30:36.22ID:b54HYVzl816デフォルトの名無しさん
2018/11/01(木) 07:11:29.46ID:hEMz+97b シートにボタン配置して押したら、オートシェイプの直線を引ける段階までって出来る?いわゆるショートカットキー的な感じの。
実際に直線を引いちゃうのは山ほどネットに転がってるけど、引くのは任意でやりたい。
実際に直線を引いちゃうのは山ほどネットに転がってるけど、引くのは任意でやりたい。
817デフォルトの名無しさん
2018/11/01(木) 10:46:24.36ID:Uh6mdsZK >>816
出来ない。
出来ない。
818デフォルトの名無しさん
2018/11/01(木) 18:36:00.35ID:Nl3jEz8g Excelのセルに入ってるデータを使ってOutlookでメールをVBAで書きたいのですが
それぞれの行やある文字についてフォントや色などで装飾したいんです。
そんなことはできますか?
なんかできなそうなんですが。
でもこれをしないとものすごく不便なのです。
うまくいけば残業せずに遊びながら居残りしてお金だけはたくさんもらえるのですが・・・
それぞれの行やある文字についてフォントや色などで装飾したいんです。
そんなことはできますか?
なんかできなそうなんですが。
でもこれをしないとものすごく不便なのです。
うまくいけば残業せずに遊びながら居残りしてお金だけはたくさんもらえるのですが・・・
819デフォルトの名無しさん
2018/11/01(木) 18:51:35.86ID:4wthv7uM >>816
できるよ。
できるよ。
820デフォルトの名無しさん
2018/11/01(木) 19:09:06.19ID:Nl3jEz8g821デフォルトの名無しさん
2018/11/01(木) 19:13:58.18ID:9hAL4zo4822デフォルトの名無しさん
2018/11/01(木) 19:18:10.81ID:Nl3jEz8g >>821
ボタンを挿入して右クリックしてマクロの登録を選び実行させたいプロシージャを選ぶだけ
ボタンを挿入して右クリックしてマクロの登録を選び実行させたいプロシージャを選ぶだけ
823デフォルトの名無しさん
2018/11/01(木) 19:22:20.09ID:9hAL4zo4 >>822
直線を引く直前の状態にするプロシージャって簡単に書けるのかい?
直線を引く直前の状態にするプロシージャって簡単に書けるのかい?
824デフォルトの名無しさん
2018/11/01(木) 19:24:41.75ID:9hAL4zo4825デフォルトの名無しさん
2018/11/01(木) 19:26:55.17ID:1Z/ZXoar >>818
HTML書けるならこの辺りを見ればわかるだろ
https://docs.microsoft.com/en-us/office/vba/api/outlook.mailitem.bodyformat
HTML書けるならこの辺りを見ればわかるだろ
https://docs.microsoft.com/en-us/office/vba/api/outlook.mailitem.bodyformat
826デフォルトの名無しさん
2018/11/01(木) 19:30:44.64ID:Nl3jEz8g827デフォルトの名無しさん
2018/11/01(木) 19:33:37.59ID:Nl3jEz8g828デフォルトの名無しさん
2018/11/01(木) 23:23:17.57ID:EZF4jYAF >>820
できないから聞いたんだが?
できないから聞いたんだが?
829デフォルトの名無しさん
2018/11/01(木) 23:35:45.63ID:NdKTTFxC できるって言ってる人は質問をよく理解してないんだと思う
830デフォルトの名無しさん
2018/11/01(木) 23:45:47.15ID:BwvtJmQs この板は日本語が読めない低学歴知恵遅れが多いのはあってる
えてして書いてある要件とまったく違うもんをあげてくるよくいる軽い池沼入ってるのと似てる
えてして書いてある要件とまったく違うもんをあげてくるよくいる軽い池沼入ってるのと似てる
831デフォルトの名無しさん
2018/11/01(木) 23:59:15.18ID:8GU0aFYB お互い様
832デフォルトの名無しさん
2018/11/02(金) 00:46:25.82ID:iMC20ra8833デフォルトの名無しさん
2018/11/02(金) 06:47:30.99ID:Cpir13NG Sendkeysで無理くりリボンメニューの直線を選択するコードを作ってショートカット割り当てる位しかないと思う
834デフォルトの名無しさん
2018/11/02(金) 07:54:22.50ID:EKeu1zQN >>828
あなたはサル以下ということだ。ウイッキー。
あなたはサル以下ということだ。ウイッキー。
835デフォルトの名無しさん
2018/11/02(金) 10:00:17.95ID:IpqW30ow >>816
あれ? まだコードあがってないですね。
じゃぁExcel2010用ですが、サンプルを、、、
目的に合わせてShapeIDを変えてください。
Sub CreateShape()
Dim ShpID As Long ' ShapetypeID
Dim iShpCnt As Long ' Shape Count (追加待ち判定)
Dim SHP As Variant ' Loop用Shape
' Create Shape
'--------------------------------
ShpID = 409 'Freeformの場合
' ShpID = 1119 'Ovalの場合
' ShpID = 1042 'LineConnectorの場合
iShpCnt = ActiveSheet.Shapes.Count
Application.CommandBars.FindControl(ID:=ShpID).Execute
Do
DoEvents
Loop While iShpCnt = ActiveSheet.Shapes.Count
End Sub
描かずに連続で押すと処理が入れ子になってしまうのが
難点ですが、、、
あれ? まだコードあがってないですね。
じゃぁExcel2010用ですが、サンプルを、、、
目的に合わせてShapeIDを変えてください。
Sub CreateShape()
Dim ShpID As Long ' ShapetypeID
Dim iShpCnt As Long ' Shape Count (追加待ち判定)
Dim SHP As Variant ' Loop用Shape
' Create Shape
'--------------------------------
ShpID = 409 'Freeformの場合
' ShpID = 1119 'Ovalの場合
' ShpID = 1042 'LineConnectorの場合
iShpCnt = ActiveSheet.Shapes.Count
Application.CommandBars.FindControl(ID:=ShpID).Execute
Do
DoEvents
Loop While iShpCnt = ActiveSheet.Shapes.Count
End Sub
描かずに連続で押すと処理が入れ子になってしまうのが
難点ですが、、、
836デフォルトの名無しさん
2018/11/02(金) 10:56:22.32ID:N4XXlewl >>835
なるほど
なるほど
837デフォルトの名無しさん
2018/11/02(金) 12:39:25.94ID:ouVO3wBC >>835
できた!ありがとうございます!
できた!ありがとうございます!
838デフォルトの名無しさん
2018/11/02(金) 12:40:29.21ID:m6WMCehM >>835
これで出来たんだね。
コード書ける環境じゃ無いから試せなかったけど、この方法かUIAutomation使うかどちらかかなあと思ってた。
CommandBarControl.ExecuteでもShapeの場合トグルっぱい動作だから思う状態になるか自信が無かった。
これで出来たんだね。
コード書ける環境じゃ無いから試せなかったけど、この方法かUIAutomation使うかどちらかかなあと思ってた。
CommandBarControl.ExecuteでもShapeの場合トグルっぱい動作だから思う状態になるか自信が無かった。
839デフォルトの名無しさん
2018/11/02(金) 12:44:20.35ID:m6WMCehM あれ、Do〜Loopの処理は気付かんかったなあ。
自分が作成してたら動かんかったと結論出してたかも。
自分が作成してたら動かんかったと結論出してたかも。
840デフォルトの名無しさん
2018/11/02(金) 12:50:59.79ID:IpqW30ow841デフォルトの名無しさん
2018/11/02(金) 12:57:46.92ID:IpqW30ow842デフォルトの名無しさん
2018/11/02(金) 17:17:11.16ID:ouVO3wBC ちなみになんだけどDoLoopはなんの為にあるんですかね?
なくても同じ動きすんだけど。
なくても同じ動きすんだけど。
843デフォルトの名無しさん
2018/11/02(金) 17:57:06.50ID:oqBXcCoW 書き終わってShapeオブジェクトが作成されるまで、次の処理を待機
元々書いた後に何か処理をするプログラムの一部だったんだと思う
今回はCommandBarControlのコマンドが実行された時点で仕事は終わってるから要らないかと
元々書いた後に何か処理をするプログラムの一部だったんだと思う
今回はCommandBarControlのコマンドが実行された時点で仕事は終わってるから要らないかと
844デフォルトの名無しさん
2018/11/02(金) 18:54:32.40ID:m6WMCehM >>843
ループ無くても動くんなら思った通りだった。
違いが有るとすれば自分はFindControlは使わず、コントロールの指定もIDじゃなくて名前使う所。
名前はFor Each使ってCommandBarを列挙して名前をDebug.Print、そのCommandBarに対してFor EachでCommandBarControlを列挙して名前をDebug.Printなどで調べる。
ループ無くても動くんなら思った通りだった。
違いが有るとすれば自分はFindControlは使わず、コントロールの指定もIDじゃなくて名前使う所。
名前はFor Each使ってCommandBarを列挙して名前をDebug.Print、そのCommandBarに対してFor EachでCommandBarControlを列挙して名前をDebug.Printなどで調べる。
845デフォルトの名無しさん
2018/11/02(金) 19:49:18.45ID:IpqW30ow >>842
ん? Do - Loop 部分ないとちゃんと動かんよ?
VBEから実行してない?
ボタンに割り付けると、ボタン押した瞬間に十時カーソル消えるはず。
Excel2010より新しいVersionは動きが違うの?
ん? Do - Loop 部分ないとちゃんと動かんよ?
VBEから実行してない?
ボタンに割り付けると、ボタン押した瞬間に十時カーソル消えるはず。
Excel2010より新しいVersionは動きが違うの?
846デフォルトの名無しさん
2018/11/02(金) 20:57:01.00ID:/dr4nYVn847デフォルトの名無しさん
2018/11/03(土) 00:21:42.99ID:N3tWJlln Excel2010でも試したけど、ループのないプロシージャで描けたよ
勿論ボタンのクリックイベントから
勿論ボタンのクリックイベントから
848デフォルトの名無しさん
2018/11/03(土) 00:44:19.57ID:N3tWJlln フォームコントロールに割り当てると描けないっぽい
ActiveXコントロールのイベントで呼べば描けるが
フォームコントロールって何のために有るんだろう・・・
ActiveXコントロールのイベントで呼べば描けるが
フォームコントロールって何のために有るんだろう・・・
849デフォルトの名無しさん
2018/11/03(土) 04:34:07.93ID:/0NNzwPk 任意のセルをコピーして所定の場所にペーストするマクロを作りたいです。
セルをコピーした状態からマクロ記録を取って、ペーストするだけのマクロを作ったのですがうまくいきません。
教えてください!
セルをコピーした状態からマクロ記録を取って、ペーストするだけのマクロを作ったのですがうまくいきません。
教えてください!
850デフォルトの名無しさん
2018/11/03(土) 06:28:54.02ID:5ShzkuEH >>848
VBAで作るフォームと処理を共有できる、とか?
VBAで作るフォームと処理を共有できる、とか?
851デフォルトの名無しさん
2018/11/03(土) 06:31:10.97ID:5ShzkuEH852デフォルトの名無しさん
2018/11/03(土) 06:39:13.96ID:IAxxklmh853デフォルトの名無しさん
2018/11/03(土) 11:31:29.48ID:/0NNzwPk >>851
Sub Macro5()
'
' Macro5 Macro
'
'
Range("AH11").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
こんな感じです。これはセル1つ選択です。(最終的には複数選択してシート間でコピペする予定です)
Sub Macro5()
'
' Macro5 Macro
'
'
Range("AH11").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
こんな感じです。これはセル1つ選択です。(最終的には複数選択してシート間でコピペする予定です)
854デフォルトの名無しさん
2018/11/03(土) 11:43:19.50ID:S6AysWL6 社名 金額 部門
================
A社 1000円 営業
A社 2000円 事務
A社 1500円 事務
A社 3000円 販売
B社 1500円 事務
B社 3500円 営業
C社 1000円 営業
C社 3000円 営業
C社 1500円 販売
D社 2000円 事務
こんな感じのA社⇒D社のように整列されたデータに対して
================
A社 1000円 営業
A社 2000円 事務
A社 1500円 事務
A社 3000円 販売
B社 1500円 事務
B社 3500円 営業
C社 1000円 営業
C社 3000円 営業
C社 1500円 販売
D社 2000円 事務
こんな感じのA社⇒D社のように整列されたデータに対して
855デフォルトの名無しさん
2018/11/03(土) 11:43:51.55ID:S6AysWL6 社名 金額 部門
================
A社 1000円 営業
A社 2000円 事務
A社 1500円 事務
A社 3000円 販売
A社 営業計 1000円 <
事務計 3500円 <
販売計 3000円 <
計 7500円 <
B社 1500円 事務
B社 3500円 営業
B社 営業計 3500円 <
事務計 1500円 <
計 5000円 <
C社 1000円 営業
C社 3000円 営業
C社 1500円 販売
C社 営業計 4000円 <
販売計 1500円 <
計 5500円 <
D社 2000円 事務
事務計 2000円 <
計 2000円 <
全社 営業計 8500円 <
事務計 7000円 <
販売計 4500円 <
計 20000円 <
こんな感じに行の間に小計、最後に合計を挿入するようなコードありますか?( < が追加行)
小計は必ず 営業、事務、販売の順番に並び、0円の場合は行自体挿入しません
実際ののデータは会社数、部門共に30以上あるので速度重視であれば望ましいです
================
A社 1000円 営業
A社 2000円 事務
A社 1500円 事務
A社 3000円 販売
A社 営業計 1000円 <
事務計 3500円 <
販売計 3000円 <
計 7500円 <
B社 1500円 事務
B社 3500円 営業
B社 営業計 3500円 <
事務計 1500円 <
計 5000円 <
C社 1000円 営業
C社 3000円 営業
C社 1500円 販売
C社 営業計 4000円 <
販売計 1500円 <
計 5500円 <
D社 2000円 事務
事務計 2000円 <
計 2000円 <
全社 営業計 8500円 <
事務計 7000円 <
販売計 4500円 <
計 20000円 <
こんな感じに行の間に小計、最後に合計を挿入するようなコードありますか?( < が追加行)
小計は必ず 営業、事務、販売の順番に並び、0円の場合は行自体挿入しません
実際ののデータは会社数、部門共に30以上あるので速度重視であれば望ましいです
856デフォルトの名無しさん
2018/11/03(土) 12:46:22.45ID:q2N3VeHV そんなもんExcelのグループ集計で一発
お前に必要なのはVBAではなくExcelの入門書
お前に必要なのはVBAではなくExcelの入門書
857デフォルトの名無しさん
2018/11/03(土) 13:03:36.46ID:3VcH/mb2 >>827
span使え
span使え
858デフォルトの名無しさん
2018/11/03(土) 13:12:27.13ID:78HW/kSp >>855
とりあえずピボットでググったら?
とりあえずピボットでググったら?
859デフォルトの名無しさん
2018/11/03(土) 13:18:18.27ID:3VcH/mb2 標準のエディタインライン展開できないとかsubの引数名自動で変えられないとかクソすぎ
誰かもっと開発しやすいやつをくれ
誰かもっと開発しやすいやつをくれ
860デフォルトの名無しさん
2018/11/03(土) 13:30:31.88ID:S6AysWL6 集計したい訳じゃなくデータを作成したいんだって
861デフォルトの名無しさん
2018/11/03(土) 13:33:02.71ID:N8ATSODS >>860
だからそれはグループ集計でできる
だからそれはグループ集計でできる
862デフォルトの名無しさん
2018/11/03(土) 13:38:02.57ID:S6AysWL6 VBAで作るには?
863デフォルトの名無しさん
2018/11/03(土) 13:47:38.58ID:N8ATSODS グループ集計の操作をマクロで記録するといいよ
864デフォルトの名無しさん
2018/11/03(土) 15:14:54.13ID:NeGXChns >>853
単にシート間で複数セルの値を同期させたいだけならそもそもクリップボードを経由しない方が早いのでは?
VBAでコピーしないでワークシート関数でシート間参照させるとか、コピー元のセルのValueプロパティなりFormulaプロパティなり、必ずコピーしなきゃいけないプロパティだけをコピー先のプロパティに直接代入するとか
ユーザーによるコピー操作そのものを再現しなきゃいけない理由でもあるの?
単にシート間で複数セルの値を同期させたいだけならそもそもクリップボードを経由しない方が早いのでは?
VBAでコピーしないでワークシート関数でシート間参照させるとか、コピー元のセルのValueプロパティなりFormulaプロパティなり、必ずコピーしなきゃいけないプロパティだけをコピー先のプロパティに直接代入するとか
ユーザーによるコピー操作そのものを再現しなきゃいけない理由でもあるの?
865デフォルトの名無しさん
2018/11/03(土) 18:06:58.76ID:/0NNzwPk >>864
シート間で照合するデータだとマクロ使わずできるのですが、
コピー元のシートのデータが大きいので、ペースト先のシートには必要なものだけを張り付けて、
印刷用のフォーマットに変換させて、終わったらペースト先のシートは保存せず元に戻すという操作をしたいと考えています。
お願いします。
シート間で照合するデータだとマクロ使わずできるのですが、
コピー元のシートのデータが大きいので、ペースト先のシートには必要なものだけを張り付けて、
印刷用のフォーマットに変換させて、終わったらペースト先のシートは保存せず元に戻すという操作をしたいと考えています。
お願いします。
866デフォルトの名無しさん
2018/11/03(土) 19:32:11.39ID:NeGXChns >>865
元データの書式や印刷用シートの体裁、印刷するデータの抽出方法などがわからないが、やりたいことからすると、Range.TextプロパティかValueプロパティの値をコピー先にそのままコピーするだけで良さそう
コピー元とコピー先のデータの体裁によっては、Range.AdvancedFilterメソッドで印刷用シートの方にフィルタ結果を出力するとかもできる
元データの書式や印刷用シートの体裁、印刷するデータの抽出方法などがわからないが、やりたいことからすると、Range.TextプロパティかValueプロパティの値をコピー先にそのままコピーするだけで良さそう
コピー元とコピー先のデータの体裁によっては、Range.AdvancedFilterメソッドで印刷用シートの方にフィルタ結果を出力するとかもできる
867デフォルトの名無しさん
2018/11/03(土) 22:51:34.85ID:MUI16VQU クラサバシステムを作るのは現実的なのでしょうか?
DBは相性からいってSQLServerで
DBは相性からいってSQLServerで
868デフォルトの名無しさん
2018/11/03(土) 22:58:31.43ID:zFR/cOIP >>867
Excelで作ろうとしてる理由が能力の問題なのか、それともExcelのワークシートの機能が必要だからなのか、それ次第だな
C#やVB.NETやJavaで作れる能力があるなら普通に作れるし、無いなら無理
能力が無いならAccessでも使ってろ
Excelで作ろうとしてる理由が能力の問題なのか、それともExcelのワークシートの機能が必要だからなのか、それ次第だな
C#やVB.NETやJavaで作れる能力があるなら普通に作れるし、無いなら無理
能力が無いならAccessでも使ってろ
869デフォルトの名無しさん
2018/11/03(土) 23:03:55.31ID:e+FwThFa 能力の問題なら今ならOffice365のPowerAppsおすすめ
たぶん>>867が手作りするより遥かに高品質なものが一瞬で作れるよ
たぶん>>867が手作りするより遥かに高品質なものが一瞬で作れるよ
870デフォルトの名無しさん
2018/11/03(土) 23:12:01.99ID:MUI16VQU 作りたいのは、Activitiのエンジンを使ったWFシステムです
Excelで検討する理由は、ADによるシートとセルの権限管理ですかね
Excelで検討する理由は、ADによるシートとセルの権限管理ですかね
871デフォルトの名無しさん
2018/11/04(日) 00:03:26.74ID:Ujv6OCQm いやクラサバだったら権限管理はSQL Server側でやるもんだろ
当然、SQL Serverなら問題なくADで制御できる
その調子じゃ厳しそうだね
当然、SQL Serverなら問題なくADで制御できる
その調子じゃ厳しそうだね
872デフォルトの名無しさん
2018/11/04(日) 00:32:40.13ID:xCAdckZO Excelのレベルで権限制御したところで、別のExcelシート作ってデータソース参照するだけでやりたい放題やで
Excelに限った話ではなくC#などでクライアント作る場合でも同じことで、プロなら絶対にありえない設計
Excelに限った話ではなくC#などでクライアント作る場合でも同じことで、プロなら絶対にありえない設計
873デフォルトの名無しさん
2018/11/04(日) 07:35:57.46ID:dL+sv/7f ここで板違いの質問を堂々とするレベルなんだから w
874デフォルトの名無しさん
2018/11/05(月) 12:48:07.93ID:g2XKp1gu またプロさんイキっとるのw
875デフォルトの名無しさん
2018/11/05(月) 23:37:43.98ID:Vz2xlIAK >>866
Range.Textプロパティ、Valueプロパティが良く理解できなくて困ってます。
セルの指定で合ってますか?
コピー元の表の中からから1行(5セル分)コピーして、隣のシートの所定の位置に貼り付けたいです。
1行選択した後、マクロ起動させて隣のシートに張付けという操作です。頼みます、教えてください!
Range.Textプロパティ、Valueプロパティが良く理解できなくて困ってます。
セルの指定で合ってますか?
コピー元の表の中からから1行(5セル分)コピーして、隣のシートの所定の位置に貼り付けたいです。
1行選択した後、マクロ起動させて隣のシートに張付けという操作です。頼みます、教えてください!
876デフォルトの名無しさん
2018/11/06(火) 00:56:10.22ID:bmwIjcqH >>875
Sub CopyToPrintForm()
ThisWorkbook.Worksheets("データ用シート名").Range("コピー元セルの行番号:コピー元セルの行番号").Copy Destination:= ThisWorkbook.Worksheets("印刷用シート名").Range("コピー先セルの行番号:コピー先セルの行番号")
End Sub
Sub CopyToPrintForm()
ThisWorkbook.Worksheets("データ用シート名").Range("コピー元セルの行番号:コピー元セルの行番号").Copy Destination:= ThisWorkbook.Worksheets("印刷用シート名").Range("コピー先セルの行番号:コピー先セルの行番号")
End Sub
877デフォルトの名無しさん
2018/11/06(火) 01:09:36.50ID:bmwIjcqH878デフォルトの名無しさん
2018/11/06(火) 01:38:13.14ID:ca/fCdtD879デフォルトの名無しさん
2018/11/06(火) 02:06:44.79ID:hX39oSae 教えてください!とか言ってるから荒しかと思ってたがガチか
880デフォルトの名無しさん
2018/11/06(火) 02:42:45.06ID:hX39oSae >>865
>ペースト先のシートは保存せず元に戻す
マクロを実行すると「元に戻す」は使えなくなるから、一々開きなおさないといけないけど大丈夫なのかな
もしその作業が連続して行われるなら、テンプレート用シートと印刷用シートを別に用意した方が楽な気がする
>ペースト先のシートは保存せず元に戻す
マクロを実行すると「元に戻す」は使えなくなるから、一々開きなおさないといけないけど大丈夫なのかな
もしその作業が連続して行われるなら、テンプレート用シートと印刷用シートを別に用意した方が楽な気がする
881デフォルトの名無しさん
2018/11/06(火) 06:33:12.72ID:ca/fCdtD882デフォルトの名無しさん
2018/11/06(火) 07:50:07.02ID:hqcuocq7 >>878
引数付きでCopyメソッドを実行するときはPasteメソッドは書かなくていい
引数付きでCopyメソッドを実行するときはPasteメソッドは書かなくていい
883デフォルトの名無しさん
2018/11/06(火) 08:01:03.35ID:hqcuocq7 >>881
印刷用シートはデータと切り離してテンプレート用の別のファイルにした方が良い
そうすれば、印刷処理のとき一時的にテンプレートから印刷用フォーマットを書き起こした後、印刷用フォーマットのブックを削除するだけで済む
印刷後に印刷用シートを初期化するマクロを更に走らせるなんて、手間を増やしてるだけだと思うぞ
印刷用シートはデータと切り離してテンプレート用の別のファイルにした方が良い
そうすれば、印刷処理のとき一時的にテンプレートから印刷用フォーマットを書き起こした後、印刷用フォーマットのブックを削除するだけで済む
印刷後に印刷用シートを初期化するマクロを更に走らせるなんて、手間を増やしてるだけだと思うぞ
884デフォルトの名無しさん
2018/11/06(火) 19:36:10.55ID:gYvutDKX 複数端末で使用しているマクロがあります
端末aのデスクトップに目当てのファイルがあり、他の端末はネットワークで繫がっている端末aのデスクトップを覗きに行く感じになってます
ファイルパス & filenameで参照したいんですがどのように書くべきなんでしょうか
端末aのデスクトップに目当てのファイルがあり、他の端末はネットワークで繫がっている端末aのデスクトップを覗きに行く感じになってます
ファイルパス & filenameで参照したいんですがどのように書くべきなんでしょうか
885デフォルトの名無しさん
2018/11/06(火) 19:50:54.72ID:S8pHBi6C886875
2018/11/06(火) 19:57:59.09ID:ca/fCdtD みなさんありがとうございます。自分のイメージしてたものが100%出来ました。
887デフォルトの名無しさん
2018/11/06(火) 22:30:23.08ID:hKUAUjlF VBAベーシックの資格取得がてら基本情報の午後問対策にしようと思ってるんですけど出題範囲とかレベル感的に同じくらいですかね?
888デフォルトの名無しさん
2018/11/07(水) 10:26:42.01ID:d5oBs1zX VBAの資格って新しくできたのか?
889デフォルトの名無しさん
2018/11/07(水) 10:35:52.33ID:XvVrOgoe890デフォルトの名無しさん
2018/11/07(水) 10:44:51.43ID:t8cEHMAy891デフォルトの名無しさん
2018/11/07(水) 10:53:48.53ID:XvVrOgoe >>890
端末aのフォルダを共有設定にしておかないとアクセスできない
共有になってれば、どのPCでもアクセスできる
エクスプローラーで共有フォルダを開いて、アドレスバーをコピペしてみると書き方が分かる
端末aのフォルダを共有設定にしておかないとアクセスできない
共有になってれば、どのPCでもアクセスできる
エクスプローラーで共有フォルダを開いて、アドレスバーをコピペしてみると書き方が分かる
892デフォルトの名無しさん
2018/11/07(水) 11:32:15.04ID:nZWGaJPv 会社なのに共有フォルダはないの?
893デフォルトの名無しさん
2018/11/07(水) 11:34:31.05ID:+HyKX3eQ894875
2018/11/07(水) 20:36:23.84ID:TW51zyDp マクロ起動でシートの切り変わりで画面がブレるというか、もう少しスムーズに動いて欲しいと感じます。
1行まるごとコピーしているので重いのでしょうか?
1行まるごとコピーしているので重いのでしょうか?
895デフォルトの名無しさん
2018/11/07(水) 22:08:04.86ID:Qojc5OuV 配列に入れるとか?
dim a
a = sheet1.Range("コピーしたい範囲")
sheet2.Range("sheet1と同じ大きさ") = a
シート切り替える必要あんの?
dim a
a = sheet1.Range("コピーしたい範囲")
sheet2.Range("sheet1と同じ大きさ") = a
シート切り替える必要あんの?
896デフォルトの名無しさん
2018/11/07(水) 23:56:50.98ID:kdSj6Mns text.txtの中身
1,"my name is taro"
2,""hello,world""
3,"hello,world"
これをエクセルに変換して期待値は以下としたい
どうしたらいい?
A B
1 my name is taro
2 "hello,world"
3 hello,world
1,"my name is taro"
2,""hello,world""
3,"hello,world"
これをエクセルに変換して期待値は以下としたい
どうしたらいい?
A B
1 my name is taro
2 "hello,world"
3 hello,world
897デフォルトの名無しさん
2018/11/07(水) 23:58:12.32ID:Z9bNZaPm 拡張子を.csvに変えてダブルクリックしてみよう
あら不思議!
あら不思議!
898デフォルトの名無しさん
2018/11/08(木) 00:00:20.32ID:+1CERcyT ちなみに拡張子をcsvにすると以下のような変な出力になる。
A B C
1 my name is taro
2 hello world""
3 hello,world
A B C
1 my name is taro
2 hello world""
3 hello,world
899デフォルトの名無しさん
2018/11/08(木) 00:02:21.00ID:M68F6j6d "が一個足りない
csvで"をインポートするには
"を""にして
"でくくらないといけない
csvで"をインポートするには
"を""にして
"でくくらないといけない
900デフォルトの名無しさん
2018/11/08(木) 00:10:13.02ID:+1CERcyT 手順としては以下でよいか?
1. test.txtの中身を置換で「""」にマッチする箇所を「"""」として保存する
2. 拡張子をcsvにする。
期待値になったのでよしとする。
さらに一歩質問いいですか?
1. test.txtの中身を置換で「""」にマッチする箇所を「"""」として保存する
2. 拡張子をcsvにする。
期待値になったのでよしとする。
さらに一歩質問いいですか?
901デフォルトの名無しさん
2018/11/08(木) 00:19:54.15ID:+1CERcyT test.txtの中身
1,"my name
is taro"
2,"""hello,world"""
3,"hello,world"
これをエクセルにして期待値として以下としたい
A B
1 (※)
2 "hello,world"
3 hello,world
B1セル内に
my name
is taro
が格納され、適切に改行が入っていることを期待。
が、csvにしたら、ちゃんと期待値になってた。。
んー、、途中で改行が入るケースではまってた記憶があったんだが、、、、。これでよしとするか。。
1,"my name
is taro"
2,"""hello,world"""
3,"hello,world"
これをエクセルにして期待値として以下としたい
A B
1 (※)
2 "hello,world"
3 hello,world
B1セル内に
my name
is taro
が格納され、適切に改行が入っていることを期待。
が、csvにしたら、ちゃんと期待値になってた。。
んー、、途中で改行が入るケースではまってた記憶があったんだが、、、、。これでよしとするか。。
902デフォルトの名無しさん
2018/11/08(木) 00:35:58.02ID:+1CERcyT ああ、思い出した
"がつかないケースで、改行が入っている場合
test.txtの中身
1,my name
is taro
エクセルにして期待値として以下としたい
A B
1 (※)
(※)
B1セル内に
my name
is taro
が格納され、適切に改行が入っていることを期待。
拡張子をcsvに置き換える前に、"で囲むようにすればいいが、置換でなんとかならないものか。
"がつかないケースで、改行が入っている場合
test.txtの中身
1,my name
is taro
エクセルにして期待値として以下としたい
A B
1 (※)
(※)
B1セル内に
my name
is taro
が格納され、適切に改行が入っていることを期待。
拡張子をcsvに置き換える前に、"で囲むようにすればいいが、置換でなんとかならないものか。
903デフォルトの名無しさん
2018/11/08(木) 01:33:19.87ID:QHwNiY6E904デフォルトの名無しさん
2018/11/08(木) 07:54:15.59ID:u+iZKjOm なんかもう最初のカンマまでの文字数だけ切り取るほうがシンプルなんじゃ
905デフォルトの名無しさん
2018/11/08(木) 11:52:01.74ID:rWQT8E4I excelの3Dグラフで陰線処理ってできますか?
906デフォルトの名無しさん
2018/11/08(木) 12:05:03.88ID:Yck2Cb0Y 陰毛処理?
907デフォルトの名無しさん
2018/11/08(木) 14:33:21.43ID:3qqw0Iqx >>895
それのどこに配列が絡んでるんですかね?
それのどこに配列が絡んでるんですかね?
908デフォルトの名無しさん
2018/11/08(木) 14:42:53.05ID:rBrrwKGn909デフォルトの名無しさん
2018/11/08(木) 15:12:21.75ID:BZZI+ZYR 質問する奴も答える奴も論外で草
質問する奴はそういうスレだからともかく
答える奴が池沼なのはもう少し何とかならないか?
VBAだから無理か
質問する奴はそういうスレだからともかく
答える奴が池沼なのはもう少し何とかならないか?
VBAだから無理か
910デフォルトの名無しさん
2018/11/08(木) 19:19:19.39ID:j6Jh7/pK なんやプロさん同士で内紛勃発か?w
911デフォルトの名無しさん
2018/11/08(木) 20:27:13.91ID:hKKyRwQm912デフォルトの名無しさん
2018/11/08(木) 20:30:22.05ID:j6Jh7/pK >>911
おまえだけやプロさんw
おまえだけやプロさんw
913デフォルトの名無しさん
2018/11/08(木) 20:41:38.00ID:vlGhAqs/ >>907
変数代入のときにSetステートメント使ってないから、変数にはセル値の配列が入ってるぞ
変数代入のときにSetステートメント使ってないから、変数にはセル値の配列が入ってるぞ
914デフォルトの名無しさん
2018/11/08(木) 22:36:31.77ID:I6vRTJnd915デフォルトの名無しさん
2018/11/08(木) 22:38:08.36ID:j6Jh7/pK プロさんにつっこんだらあかんやろ
暗黙のルールぐらい守れやカス
暗黙のルールぐらい守れやカス
916デフォルトの名無しさん
2018/11/08(木) 22:43:10.26ID:I6vRTJnd そんなことより、XMLクライアントとしてのExcelを語ろうぜ
917デフォルトの名無しさん
2018/11/08(木) 23:06:03.49ID:g1taMrfK >>914
セルの権限管理なんぞサーバーから見たら何の意味もないよ
セルの権限管理なんぞサーバーから見たら何の意味もないよ
918デフォルトの名無しさん
2018/11/09(金) 10:17:43.12ID:46H7vVxk919デフォルトの名無しさん
2018/11/09(金) 10:21:06.82ID:mRKVO+Jg yes
920デフォルトの名無しさん
2018/11/09(金) 10:42:48.08ID:jWmpQO7/921デフォルトの名無しさん
2018/11/09(金) 14:25:59.43ID:xyt0IPos922デフォルトの名無しさん
2018/11/09(金) 22:13:18.94ID:GmFPY+rV プロに聞いてみようぜ
923デフォルトの名無しさん
2018/11/09(金) 22:36:34.07ID:dt2W+h7o デザイナーが描くような美しいUMLのシェイプを生成するDSLライブラリはありませんか?
PlantUMLのエクセルバージョンのようなものを探してます
PlantUMLのエクセルバージョンのようなものを探してます
924デフォルトの名無しさん
2018/11/10(土) 13:47:50.89ID:g7tZUN2t データの持ち方はシンプルな方がいい
そうでないなら条件を明確に
そうでないなら条件を明確に
925デフォルトの名無しさん
2018/11/12(月) 08:23:59.02ID:emJ6rSNr 901だが、
さらにおしえてほしい
textに
"please call a "phone"."
と書かれているケースがあり、これをcsvとして読みこませる前に
表記が崩れないように整形を加える。
最終的に1セル内に
please call a "phone".
が入っていればよいです。
上記を実現するための整形の流れとしてどうしたらいい?
整形後は、phoneの間に"をさらに追加する。端っこの"には手を加えない。
"please call a ""phone""."
手作業ではなく、置換で自動化したい
さらにおしえてほしい
textに
"please call a "phone"."
と書かれているケースがあり、これをcsvとして読みこませる前に
表記が崩れないように整形を加える。
最終的に1セル内に
please call a "phone".
が入っていればよいです。
上記を実現するための整形の流れとしてどうしたらいい?
整形後は、phoneの間に"をさらに追加する。端っこの"には手を加えない。
"please call a ""phone""."
手作業ではなく、置換で自動化したい
926デフォルトの名無しさん
2018/11/12(月) 09:22:19.42ID:CGIJA+ER そういうのはCSVとして読み込むんじゃなくて、自前で構文解析した方が良い。
この程度なら難しく無いでしょ。
この程度なら難しく無いでしょ。
927デフォルトの名無しさん
2018/11/12(月) 09:52:07.52ID:zyHWT4B/928デフォルトの名無しさん
2018/11/12(月) 09:53:55.26ID:zyHWT4B/ 訂正
置換後
\1\"\"\2
だな、1個多かった
置換後
\1\"\"\2
だな、1個多かった
929デフォルトの名無しさん
2018/11/12(月) 21:39:04.12ID:OsYv7RWH 全く無知な自分にご教授下さい。
マクロでフォルダ内のエクセルのシート1をすべて結合するマクロを探しています。
ネットに転がってるのを実行してもうまくいかないです。
できればですが、シート名は統一していないないので、ブックないのシートのRange(A1)が日付だったシートのみを結合とか高度すぎて無理でしょうか。
マクロでフォルダ内のエクセルのシート1をすべて結合するマクロを探しています。
ネットに転がってるのを実行してもうまくいかないです。
できればですが、シート名は統一していないないので、ブックないのシートのRange(A1)が日付だったシートのみを結合とか高度すぎて無理でしょうか。
930デフォルトの名無しさん
2018/11/12(月) 21:42:09.58ID:dMWbNPXa931デフォルトの名無しさん
2018/11/12(月) 21:54:32.66ID:JxfhNlMu ネットに転がってるのがあってもできないなら回答しても意味なくね?
ファイル名が統一されてないからうまく行かないんなら、フリーソフト拾ってきて一括リネームしたら済む話かもしれない
何を試みて何かどううまく行かなかったのか、真に目的を達成するには何がどうなっていればいいのか
それくらいは頭を整理して明記しなさい
何がわからないのか何がしたいのか自分でわからないけど親切に要件をヒアリングして代わりに作ってほしい、ならそこらへんのSIerに相談しなさい
ファイル名が統一されてないからうまく行かないんなら、フリーソフト拾ってきて一括リネームしたら済む話かもしれない
何を試みて何かどううまく行かなかったのか、真に目的を達成するには何がどうなっていればいいのか
それくらいは頭を整理して明記しなさい
何がわからないのか何がしたいのか自分でわからないけど親切に要件をヒアリングして代わりに作ってほしい、ならそこらへんのSIerに相談しなさい
932デフォルトの名無しさん
2018/11/12(月) 22:03:30.98ID:XDhm+jvj >>930
バカはお口にチャックな
バカはお口にチャックな
933デフォルトの名無しさん
2018/11/12(月) 22:13:45.72ID:MyIa17Oe Dir
sheet(1)
IsDate
この辺りで調べてみればそこまで難易度は高くないと思う
sheet(1)
IsDate
この辺りで調べてみればそこまで難易度は高くないと思う
934デフォルトの名無しさん
2018/11/12(月) 22:18:58.14ID:OsYv7RWH935デフォルトの名無しさん
2018/11/12(月) 22:36:44.04ID:zyHWT4B/ for each ws in Worksheetsとif文が使えればできるよ
936デフォルトの名無しさん
2018/11/13(火) 00:16:47.48ID:6PLLlNb2 >>927
試したけど、grepにひっかからず。
試したけど、grepにひっかからず。
937デフォルトの名無しさん
2018/11/13(火) 00:18:49.38ID:6PLLlNb2 936ですが、
原因が分かりました。
([^\,\"]+?)\"{1}([^\,\"]+?)の後の半角スペースが入っていたので引っ掛からなかった。
半角スペース覗いたらできました。
原因が分かりました。
([^\,\"]+?)\"{1}([^\,\"]+?)の後の半角スペースが入っていたので引っ掛からなかった。
半角スペース覗いたらできました。
938デフォルトの名無しさん
2018/11/13(火) 03:19:44.71ID:gWmuHRek >>925
1"2"3"4"5
これが君には、"24"、"3" の2つに見えるけど、
普通の人は、"2"、"4" の2つに見える
つまり、"3" がネスト・内側だとは判別できない。
内側を表すには、確実に、外側と区別できる方法が必要
例えば、""3"" のように、" が2個続いたら内側と解釈するとか、何らかの方法が必要だけど、
他に解釈されないような、特別な記号を作るのは難しい
1"2"3"4"5
これが君には、"24"、"3" の2つに見えるけど、
普通の人は、"2"、"4" の2つに見える
つまり、"3" がネスト・内側だとは判別できない。
内側を表すには、確実に、外側と区別できる方法が必要
例えば、""3"" のように、" が2個続いたら内側と解釈するとか、何らかの方法が必要だけど、
他に解釈されないような、特別な記号を作るのは難しい
940デフォルトの名無しさん
2018/11/13(火) 21:19:22.76ID:8adn94NA >>937
Excel vba にも正規表現による置換機能あるよね?その検索パターン、置換する文字列をそのまま使えるのか?
Excel vba にも正規表現による置換機能あるよね?その検索パターン、置換する文字列をそのまま使えるのか?
941デフォルトの名無しさん
2018/11/13(火) 21:22:12.20ID:Vxu3kwrv >>938
長い、3文字で
長い、3文字で
942デフォルトの名無しさん
2018/11/14(水) 00:32:01.09ID:cWkoLxip こんばんは。質問させてください。
VBAでXMLファイルを作成したいのですが、MSXML2というパーサ(?)を使わないといけないのですか?
Printなどを用いてテキストファイルを作成し、拡張子を.xmlに変更して作成した場合、何か問題があるのでしょうか
XMLファイルはただのテキストファイルだという認識だったのですが、「VBA XML 作成」などと検索すると
ほぼ全てのサイトでMSXML2を用いた方法が紹介されているので混乱しています
よろしくお願い致します
VBAでXMLファイルを作成したいのですが、MSXML2というパーサ(?)を使わないといけないのですか?
Printなどを用いてテキストファイルを作成し、拡張子を.xmlに変更して作成した場合、何か問題があるのでしょうか
XMLファイルはただのテキストファイルだという認識だったのですが、「VBA XML 作成」などと検索すると
ほぼ全てのサイトでMSXML2を用いた方法が紹介されているので混乱しています
よろしくお願い致します
943デフォルトの名無しさん
2018/11/14(水) 02:04:23.47ID:otO/yyOk Ruby, Python, JavaScript など、すべての言語・コマンドでも、そう。
HTML, XML, JSON などは、それ用のライブラリを使う
勝手に作ったファイルは、パーサーで解析すると、
間違った形式・フォーマットで作られている、正しい形式ではない、という形式違反になる
正しい形式かどうかを、チェックするツールもある
HTML, XML, JSON などは、それ用のライブラリを使う
勝手に作ったファイルは、パーサーで解析すると、
間違った形式・フォーマットで作られている、正しい形式ではない、という形式違反になる
正しい形式かどうかを、チェックするツールもある
944デフォルトの名無しさん
2018/11/14(水) 03:54:10.85ID:KIwP1nqR 以前DOMについて質問させて頂いたものです。
前回はIEを直接開いて扱っていたのですが、
MSXMLという機能でIEを開かずにウェブサイトの情報を取得できると知り、
そちらの方が速そうだし面白そうなので挑戦しています。
そこで色々調べていたのですが、
http://d.hatena.ne.jp/end0tknr/20081115/1226755041
というブログに「MSXML2.DOMDocumentでxml responseをparseすることができます。」とあり、
Dim HttpReq As MSXML2.XMLHTTP
Dim DomDoc As MSXML2.DOMDocument
・・・
DomDoc.loadXML (HttpReq.responseText)
というコードが記述されていますが、ローカルウインドウを見るとXMLHTTP(XMLHTTP60)にresponseXMLというそれらしいプロパティがあります。
直接これをDOMとして扱うのは出来ないのでしょうか。
前回はIEを直接開いて扱っていたのですが、
MSXMLという機能でIEを開かずにウェブサイトの情報を取得できると知り、
そちらの方が速そうだし面白そうなので挑戦しています。
そこで色々調べていたのですが、
http://d.hatena.ne.jp/end0tknr/20081115/1226755041
というブログに「MSXML2.DOMDocumentでxml responseをparseすることができます。」とあり、
Dim HttpReq As MSXML2.XMLHTTP
Dim DomDoc As MSXML2.DOMDocument
・・・
DomDoc.loadXML (HttpReq.responseText)
というコードが記述されていますが、ローカルウインドウを見るとXMLHTTP(XMLHTTP60)にresponseXMLというそれらしいプロパティがあります。
直接これをDOMとして扱うのは出来ないのでしょうか。
945デフォルトの名無しさん
2018/11/14(水) 06:47:08.50ID:F2hyLHDL >>942
> MSXML2というパーサ(?)を使わないといけないのですか?
別にMSXML2なんて単なるライブラリだから使わなくてもいいよ
ただXMLにきちんと対応するのは面倒だからみんな使ってるだけ
> MSXML2というパーサ(?)を使わないといけないのですか?
別にMSXML2なんて単なるライブラリだから使わなくてもいいよ
ただXMLにきちんと対応するのは面倒だからみんな使ってるだけ
946デフォルトの名無しさん
2018/11/14(水) 08:00:52.88ID:cWkoLxip947デフォルトの名無しさん
2018/11/14(水) 09:35:48.86ID:JBsUV7Ak >>940
VBAでの後方参照(\1や\2のような)はExecuteメソッドが要る、
grepやpowershellみたいに簡潔にならんけどできないことはない
Set Matches = RE.Execute(対象文字列)
For Each Match In Matches
Match.submatch(0) & """""" & match.submatch(1)
Next Match
VBAでの後方参照(\1や\2のような)はExecuteメソッドが要る、
grepやpowershellみたいに簡潔にならんけどできないことはない
Set Matches = RE.Execute(対象文字列)
For Each Match In Matches
Match.submatch(0) & """""" & match.submatch(1)
Next Match
948デフォルトの名無しさん
2018/11/14(水) 21:48:32.31ID:X5SCw3Kf 入力規則のリストでリストのいずれかを選択した時に
アクションを起こしたいのですが、方法はあるのでしょうか。
selection changeでは無理でした。
アクションを起こしたいのですが、方法はあるのでしょうか。
selection changeでは無理でした。
949デフォルトの名無しさん
2018/11/14(水) 23:16:38.95ID:Z7uIM71c >>948
普通のWorksheet_Changeイベントを使う
普通のWorksheet_Changeイベントを使う
950デフォルトの名無しさん
2018/11/15(木) 01:04:33.76ID:pL2ZxAKh951デフォルトの名無しさん
2018/11/15(木) 22:05:17.67ID:xj1JjGGB 上場企業ってポリシーでマクロとか止められてない?
952デフォルトの名無しさん
2018/11/15(木) 22:08:32.25ID:60AqZ+Uz 各部署向けのマクロを色々作ってたけど
そんなの企業次第だろ
そんなの企業次第だろ
953デフォルトの名無しさん
2018/11/15(木) 22:14:10.97ID:Q+Sfzbdk うちは個人での業務効率化が目的なら黙認されるのが実情だな
部署での正式な業務ツールとしてのマクロは情シス部で仕様として管理される事になるし、個人での作成も配布も禁止されてる
部署での正式な業務ツールとしてのマクロは情シス部で仕様として管理される事になるし、個人での作成も配布も禁止されてる
954デフォルトの名無しさん
2018/11/15(木) 23:27:40.32ID:sS26qanx ザルにもほどがあるやろw黙認とか一番あかんやつやんけw
955デフォルトの名無しさん
2018/11/15(木) 23:59:31.43ID:lTdn/5mU マクロは申請が必要で保存場所は限定だわ
956デフォルトの名無しさん
2018/11/16(金) 04:45:29.00ID:1oL4uemZ 以前は自由だったのが、誰かがミスするたびに禁止になって、今はほとんど何もできなくなった
957デフォルトの名無しさん
2018/11/16(金) 07:12:21.93ID:B19KzSp6 情シス部にいるとマクロ作り放題(影響及ぼす範囲によるが)
958デフォルトの名無しさん
2018/11/16(金) 09:34:05.81ID:iyDekcJ2 それで競争になるのか人事ながら心配
禁止なのはOfficeマクロだけってなら分かるけどさ
禁止なのはOfficeマクロだけってなら分かるけどさ
959927
2018/11/16(金) 09:43:44.02ID:fQoG7lNZ セキュリテイ問題はVBAだけじゃない、今流行りのRPAだってハック悪用されちゃえば、情報流出し放題になる危険はある。
ただ情シスでVBAし放題って、仕事としては辛いなあ、VBAが好きならいいけど
ただ情シスでVBAし放題って、仕事としては辛いなあ、VBAが好きならいいけど
960デフォルトの名無しさん
2018/11/16(金) 11:24:37.60ID:iyDekcJ2 情報流出のリスクって観点だったら自分の手元の端末でプログラミングする/しないなんてあんまり関係ないよなあ。
セキュリティ担当大臣のリテラシーがあれじゃ何言っても無駄かw
セキュリティ担当大臣のリテラシーがあれじゃ何言っても無駄かw
961デフォルトの名無しさん
2018/11/16(金) 13:07:59.03ID:+iwVt0B0 うちの場合、初期導入済みのソフト・プログラム以外追加インストール禁止、
プログラムの自作禁止、バッチファイル等のスクリプトも自作禁止、
その他電算担当が意図しないものは禁止、
ただしExcel・Wordのマクロはプログラム外とおかしなやりとりさえしなければ自作可、だから、
お目こぼしいただいているといえばそうかも試練。
プログラムの自作禁止、バッチファイル等のスクリプトも自作禁止、
その他電算担当が意図しないものは禁止、
ただしExcel・Wordのマクロはプログラム外とおかしなやりとりさえしなければ自作可、だから、
お目こぼしいただいているといえばそうかも試練。
962デフォルトの名無しさん
2018/11/16(金) 20:12:20.13ID:HodhQ/sE >>960
おまえも大差ないけんどねw
おまえも大差ないけんどねw
963デフォルトの名無しさん
2018/11/17(土) 12:59:10.62ID:rrttmrGF htmlでも作れるよ
964デフォルトの名無しさん
2018/11/17(土) 16:28:27.01ID:avlCLAGR 禁止いうても、コンペアツールや自動入力ツールの類を自作してこっそりローカルで使ってる人はいるわな。
個人で作成したマクロなんてそう大勢に普及させるもんでもないし。
個人で作成したマクロなんてそう大勢に普及させるもんでもないし。
965デフォルトの名無しさん
2018/11/17(土) 19:32:22.12ID:afjAxwZo >>961と同じような環境でパソコン操作ログも全て取られている。けどマクロは作り放題でこの会社どうかしてるなあと思う
管理できる範囲で使うようには心がけてる程度
管理できる範囲で使うようには心がけてる程度
966デフォルトの名無しさん
2018/11/17(土) 23:34:31.53ID:kPyd3h/H すみません初心者です。
次のブログで紹介されているVBAを応用したいのですが、
ご助言をお願いしたく。
https://www.excel-prog.com/entry/outlook-mailitem2
現状は
「キーワードが含まれるファイルが見つからない場合は、ファイル添付しない」
という処理なのですが、
「キーワードが含まれるファイルが見つからない場合は、下書きを作成しない」
という処理に変更できないでしょうか。
次のブログで紹介されているVBAを応用したいのですが、
ご助言をお願いしたく。
https://www.excel-prog.com/entry/outlook-mailitem2
現状は
「キーワードが含まれるファイルが見つからない場合は、ファイル添付しない」
という処理なのですが、
「キーワードが含まれるファイルが見つからない場合は、下書きを作成しない」
という処理に変更できないでしょうか。
967デフォルトの名無しさん
2018/11/17(土) 23:37:15.00ID:eQWBxdMf968デフォルトの名無しさん
2018/11/17(土) 23:39:40.85ID:rc62Vrp5 >>966
自分で勉強する気がないならRPAを買おう
自分で勉強する気がないならRPAを買おう
969デフォルトの名無しさん
2018/11/17(土) 23:48:28.07ID:Q6MHNsVE Windowsにも色々なコマンドラインツールが標準で付属してくるから
たいていのことは追加ソフトなしでできちゃうんだよな
たいていのことは追加ソフトなしでできちゃうんだよな
970デフォルトの名無しさん
2018/11/18(日) 00:19:50.58ID:RRVp+pUX なんや、わいは>>966の言葉使いのバカさを諫めただけで質問の内容は否定しとらんで
わかる奴答えてやれや
わかる奴答えてやれや
971デフォルトの名無しさん
2018/11/18(日) 00:50:35.06ID:WoNYW9mY >>966
下書きを作成しないというか、要するにメールを書き起こさないようにすればいいわけだよな
ならば、メール作成箇所の前に一行
If SearchFile(フォルダパス,Keyword)="" Then Exit Sub
等と追加して、SearchFile関数の戻り値が空文字列ならメール作成しない処理にすれば良い
ただし、エクセルファイル以外のファイルの存在確認をするならSearchFile関数の修正が必要だし、パス長が255文字を越えるフォルダやファイルを検索する場合はFileSystemObjectを使ったりしなきゃならない
下書きを作成しないというか、要するにメールを書き起こさないようにすればいいわけだよな
ならば、メール作成箇所の前に一行
If SearchFile(フォルダパス,Keyword)="" Then Exit Sub
等と追加して、SearchFile関数の戻り値が空文字列ならメール作成しない処理にすれば良い
ただし、エクセルファイル以外のファイルの存在確認をするならSearchFile関数の修正が必要だし、パス長が255文字を越えるフォルダやファイルを検索する場合はFileSystemObjectを使ったりしなきゃならない
972デフォルトの名無しさん
2018/11/18(日) 07:35:49.85ID:ZUPq3iVE >>969
powershellとbashのこと?
powershellとbashのこと?
973デフォルトの名無しさん
2018/11/18(日) 08:50:18.78ID:fvzyxXyq >>967
そんなコマケーことが気になるなら匿名掲示板なんて見るなよ、馬鹿じゃねーの?
そんなコマケーことが気になるなら匿名掲示板なんて見るなよ、馬鹿じゃねーの?
974デフォルトの名無しさん
2018/11/18(日) 09:39:49.09ID:xm+TdzEk975デフォルトの名無しさん
2018/11/18(日) 09:44:41.41ID:31bgLNRt コマンドライン版でないC#コンパイラなんて存在しませんw
976デフォルトの名無しさん
2018/11/18(日) 10:02:01.46ID:1SW2m7ab 流れを無視して急に知識自慢始めちゃうやつ
今の話題はアプリの追加インストールが禁止された環境で何が出来るか
今の話題はアプリの追加インストールが禁止された環境で何が出来るか
977デフォルトの名無しさん
2018/11/18(日) 10:52:24.32ID:agYaFy5y C#のコンパイラはVista以降なら追加インストール必要ないぞ
978デフォルトの名無しさん
2018/11/18(日) 11:13:46.24ID:PoFSPoaK C#は標準で使えるけどまともなエディタが無い
少なくともVSCodeは必須と言っていい
それと最新の言語バージョンにあげたいからSDKも合わせてインストールしたいね
本家Visual Studioは要らないけどプレインストールだけで戦えるほど簡単でもない
でもVBE+VBAと比べるとC# 5+メモ帳でもまあいっかーこっちのほうがまだマシかもなーという気持ちになることは認める
少なくともVSCodeは必須と言っていい
それと最新の言語バージョンにあげたいからSDKも合わせてインストールしたいね
本家Visual Studioは要らないけどプレインストールだけで戦えるほど簡単でもない
でもVBE+VBAと比べるとC# 5+メモ帳でもまあいっかーこっちのほうがまだマシかもなーという気持ちになることは認める
979デフォルトの名無しさん
2018/11/18(日) 11:14:53.56ID:Nq43WKFY >>977 3つ上に書いてある
980デフォルトの名無しさん
2018/11/18(日) 11:20:20.73ID:SwY+rtAE >>975
アスペ乙
アスペ乙
981デフォルトの名無しさん
2018/11/18(日) 11:24:42.28ID:SwY+rtAE982デフォルトの名無しさん
2018/11/18(日) 11:59:22.66ID:ve9l0Wxi >>978
Visual Studio Codeはまともじゃないと?
Visual Studio Codeはまともじゃないと?
983デフォルトの名無しさん
2018/11/18(日) 12:08:47.18ID:PoFSPoaK984デフォルトの名無しさん
2018/11/18(日) 12:15:47.10ID:31bgLNRt VSCodeなんかフリーソフトのインストールに許可が要る会社で使うのは不可能だろ
C#の開発環境を整えようとしようものなら数百個のオープンソースライブラリが勝手に入ってくるから、
全部申請出して情シスにレビューさせたら何年かかることか
C#の開発環境を整えようとしようものなら数百個のオープンソースライブラリが勝手に入ってくるから、
全部申請出して情シスにレビューさせたら何年かかることか
985デフォルトの名無しさん
2018/11/18(日) 12:23:37.60ID:ve9l0Wxi >>983
ああ日本語の問題ね
ああ日本語の問題ね
986デフォルトの名無しさん
2018/11/18(日) 12:31:26.14ID:PoFSPoaK >>984
そんな厳しいチェックしてる企業は実際にはないよ
Microsoftが出してるツールならMicrosoftを信用してMicrosoftが採用したオプソの依存関係も信用する
これぐらいのバランス感覚が普通じゃないかな
そんな厳しいチェックしてる企業は実際にはないよ
Microsoftが出してるツールならMicrosoftを信用してMicrosoftが採用したオプソの依存関係も信用する
これぐらいのバランス感覚が普通じゃないかな
987デフォルトの名無しさん
2018/11/18(日) 12:35:06.02ID:zyj02y5w 984じゃないけど、そら世間知らず過ぎだわ
どんだけセキュリティ弱い企業なのよ、うちだってまず無理だわ
だからこんな糞言語使ってるってのに
どんだけセキュリティ弱い企業なのよ、うちだってまず無理だわ
だからこんな糞言語使ってるってのに
988デフォルトの名無しさん
2018/11/18(日) 12:45:51.12ID:PoFSPoaK いやいや
膨大な数のオプソのセキュリティをレビューできる専門家を何人も囲える企業ばかりじゃないだろ
囲える力があったとしてもそんな貴重な人材をツール申請のレビューアーとして使い潰す企業があったとしたらただのマヌケだわ
膨大な数のオプソのセキュリティをレビューできる専門家を何人も囲える企業ばかりじゃないだろ
囲える力があったとしてもそんな貴重な人材をツール申請のレビューアーとして使い潰す企業があったとしたらただのマヌケだわ
989デフォルトの名無しさん
2018/11/18(日) 12:47:52.42ID:VUJKeY9L Windowsのアプデで.NETライブラリを更新することにすら神経尖らす企業もいるし、VSCode使用は一般化できんね
990デフォルトの名無しさん
2018/11/18(日) 12:50:32.45ID:PoFSPoaK だから殆どの企業は判断基準として発行元はどこなのかということぐらいしかチェックしない
現実的に考えると企業としての信用で判断するしかないんだよ
そしてソースコードではなく信用で判断するなら信用した企業が信用した企業も再帰的に信用したって構わないだろ
現実的に考えると企業としての信用で判断するしかないんだよ
そしてソースコードではなく信用で判断するなら信用した企業が信用した企業も再帰的に信用したって構わないだろ
991デフォルトの名無しさん
2018/11/18(日) 12:54:35.35ID:XN88gtNz 前職は某外資Iのグループ会社にいたけど、Globalのルールだと
業務で使用するオープンソースライブラリは許可済みのもの(レビュー済の特定のバージョンに限る)以外は全てレビュー必須だったぞ
厳密に適用するとVSやVSCodeのパッケージマネージャで入ってくるような膨大な数のOSSライブラリは全てレビューが必要
まあ誰も守ってなかったがw
業務で使用するオープンソースライブラリは許可済みのもの(レビュー済の特定のバージョンに限る)以外は全てレビュー必須だったぞ
厳密に適用するとVSやVSCodeのパッケージマネージャで入ってくるような膨大な数のOSSライブラリは全てレビューが必要
まあ誰も守ってなかったがw
992デフォルトの名無しさん
2018/11/18(日) 12:55:34.27ID:PoFSPoaK >>989
それは違う理由で神経尖らせてるだけ
日本企業で.NETと言ったらVB.NETが代名詞になる
VBコミュニティのレベルの低さは底なしだ
彼らがVB.NETで作った業務システム(主にデスクトップアプリ)ってものすごく簡単に壊れるんだよ
OSやフレームワークの更新なんてしたらどうなるか分かったものじゃない
だから慎重になるの
オープンソースのセキュリティについて慎重になるのとはベクトルが違う
それは違う理由で神経尖らせてるだけ
日本企業で.NETと言ったらVB.NETが代名詞になる
VBコミュニティのレベルの低さは底なしだ
彼らがVB.NETで作った業務システム(主にデスクトップアプリ)ってものすごく簡単に壊れるんだよ
OSやフレームワークの更新なんてしたらどうなるか分かったものじゃない
だから慎重になるの
オープンソースのセキュリティについて慎重になるのとはベクトルが違う
993デフォルトの名無しさん
2018/11/18(日) 12:59:43.99ID:XN88gtNz >>992
委託開発なら当たり前でしょ
だってライセンス許諾の主体は開発側ではなくユーザーなんだから、
使用しているライブラリをユーザーに把握させユーザー自身で許諾させることは法的に当然必要なプロセスだ
ちなみに991は自社利用するときの話な
委託開発なら当たり前でしょ
だってライセンス許諾の主体は開発側ではなくユーザーなんだから、
使用しているライブラリをユーザーに把握させユーザー自身で許諾させることは法的に当然必要なプロセスだ
ちなみに991は自社利用するときの話な
994デフォルトの名無しさん
2018/11/18(日) 13:05:16.34ID:PoFSPoaK >>991
ソース全チェックなんて現実的なアイデアじゃないからたちまち形骸化するよね
信用のおける企業が発行あるいは採用してる、世界規模で採用実績が十分に多い、信用のおける団体が認証している、といった基準で判断しないとITビジネスのスピードに追いつけない
ソース全チェックなんて現実的なアイデアじゃないからたちまち形骸化するよね
信用のおける企業が発行あるいは採用してる、世界規模で採用実績が十分に多い、信用のおける団体が認証している、といった基準で判断しないとITビジネスのスピードに追いつけない
995デフォルトの名無しさん
2018/11/18(日) 13:25:25.99ID:fvzyxXyq ソースなんてチェックできるわけないわな
やってもライセンス条項のチェックが精一杯だと思う
やってもライセンス条項のチェックが精一杯だと思う
996デフォルトの名無しさん
2018/11/18(日) 13:56:30.51ID:mxtYTXok たまたまオープンソースで読めるからって
急にチェックし始めるのは良くわからんな
急にチェックし始めるのは良くわからんな
997デフォルトの名無しさん
2018/11/18(日) 14:02:39.60ID:t5VFkoMH >>996
読めるかどうかじゃなくて責任の所在の問題だ
オープンソースのほとんどは自己責任だから、使って重大な損害が生じたときに賠償請求できない
ライセンスについても「あくまで俺の書いたコードについてのライセンスであり、依存してる他のライブラリは知らん」が普通だし
読めるかどうかじゃなくて責任の所在の問題だ
オープンソースのほとんどは自己責任だから、使って重大な損害が生じたときに賠償請求できない
ライセンスについても「あくまで俺の書いたコードについてのライセンスであり、依存してる他のライブラリは知らん」が普通だし
998デフォルトの名無しさん
2018/11/18(日) 14:12:20.41ID:mxtYTXok 自己責任なのはオプソに限らずフリーウェアのほぼ全てじゃない
jreやflashなんてどうやって検証してるのさ
jreやflashなんてどうやって検証してるのさ
999デフォルトの名無しさん
2018/11/18(日) 14:38:30.24ID:PoFSPoaK オープンソースって有名なものは大企業や財団が管理・支援してるからな
ソースを全部チェックしなきゃインストールしちゃだめなどと素っ頓狂なことを言い出す企業のあって無いようなセキュリティ意識よりよっぽど安心
ソースを全部チェックしなきゃインストールしちゃだめなどと素っ頓狂なことを言い出す企業のあって無いようなセキュリティ意識よりよっぽど安心
1000デフォルトの名無しさん
2018/11/18(日) 14:43:42.16ID:M6SP58jh10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 68日 17時間 1分 3秒
新しいスレッドを立ててください。
life time: 68日 17時間 1分 3秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【コメ】卸売業者「簡単に安売りできない」 「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 [Hitzeschleier★]
- 中国から訓練の連絡あったが、区域など具体的な内容知らされず=小泉防衛相 [♪♪♪★]
- 空自機レーダー照射、音声データ公開 中国 ★4 [蚤の市★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★2 [少考さん★]
- 【高市早苗総理】食料品消費減税に慎重「今すぐ約束できない」…「物価上昇率は徐々に落ち着いていくと見込んでいる」 [Hitzeschleier★]
- 鈴木農水大臣「私がJAグループに何か利益誘導するということは全くありません」“おこめ券”めぐり“JA救済”をきっぱりと否定 [Hitzeschleier★]
- 【高市速報】小泉進次郎「事前に中国軍から飛行訓練を開始すると連絡があったのは事実」 [931948549]
- 【正論】高市さん「『企業献金について与野党で協議する』という答弁は石破個人のものであり、もはや無効」特定野党を完全論破 [519511584]
- 【悲報】高市早苗政権に文春砲が連発! [115996789]
- (ヽ°ん゚)「ODした」オーバードーズしてそうなもの [377482965]
- 【正論】高市さん「長期金利が上がり続けていくことよりも、日本が成長していく方が大事」 [519511584]
- 杉浦太蔵「東京で40超えて年収400万円ない奴は東京を去り地方行け。家賃高さや物価高さで貯金できず悲惨ば老後」 [732289945]
