1 名前:デフォルトの名無しさん [2017/05/16(火) 08:24:45.78 ID:iIGA/64l0.net] !extend:checked:vvvvv:1000:512 スレ立ての際は一行目に !extend:checked:vvvvv:1000:512 と入れてスレ立てして下さい ExcelのVBAに関する質問スレです コード書き込みや作成依頼もOK ※前スレ Excel VBA 質問スレ Part47 [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/tech/1489557874/ ※関連スレ VBAなんでも質問スレ Part2 echo.2ch.net/test/read.cgi/tech/1432173164/ Access VBA 質問スレ Part1 echo.2ch.net/test/read.cgi/tech/1328536426/ Excel総合相談所 125 echo.2ch.net/test/read.cgi/bsoft/1481369538/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
702 名前:デフォルトの名無しさん (ワッチョイ 23aa-3C0K) mailto:sage [2017/06/11(日) 13:42:39.50 ID:P5Uv9Xu70.net] >>674 変数への代入の話題なのでそれは関係ないよ。 その左辺 Range("A1") は変数ではない。
703 名前:デフォルトの名無しさん (ワッチョイ db6d-qkek) mailto:sage [2017/06/11(日) 13:50:31.78 ID:46pYjw9V0.net] >>678 変数じゃなければ何だろう? アプリケーション側で用意されているとは言え、変数ではなかろうか
704 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/11(日) 13:56:28.52 ID:eCVTs9al0.net] >>674 俺の理解ではそれは左辺の側がデフォルトプロパティかオブジェクトかという話になるから>>640 と同じことになると思う。 だからその点では、つまり>>640 以外で辻褄が合っていないという例にはならないと思う。
705 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 14:01:42.55 ID:q49UmmFG0.net] >>676-677 代入時点で Variant ならオブジェクトの参照を入れときゃいいだけだろ >> var1=Range("A1") > の時点では var1 はセルA1への参照の代入として ってはっきり書いてあるんだから人の日本語にいちゃもんつける前に自分の理解力を省みろよ
706 名前:デフォルトの名無しさん (ワッチョイ db6d-yT0o) mailto:sage [2017/06/11(日) 14:17:20.73 ID:46pYjw9V0.net] >>678 確かにrangeだとややこしいな、新しいclassを作ってみよう fooClassとする fooClassのデフォルトメンバはfoo。fooのclassは自身と同じfooClass class fooClass{ 'この書き方は適当 default public Property foo as fooClass; } これだとfooで何が返ってくるか不定 Dim foo as fooClass foo = New fooClass();
707 名前:デフォルトの名無しさん (ドコグロ MM51-UHXl) mailto:sage [2017/06/11(日) 14:30:41.83 ID:nUk6Os5uM.net] そういや自作クラスでデフォルトプロパティって作れるの? 作ろうと思ったこともなかった
708 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 14:35:03.70 ID:P5Uv9Xu70.net] www.cpearson.com/excel/DefaultMember.aspx
709 名前:デフォルトの名無しさん (ワッチョイ db6d-yT0o) mailto:sage [2017/06/11(日) 14:38:19.83 ID:46pYjw9V0.net] >>683 一応作れる ただ普通は作ろうと思わないレベルでめんどくさいし、そんなもんアテにするような設計にしないだろう
710 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 14:55:51.72 ID:Rohm8Nl3a.net] >>681 つまりPrint文は関係無いんだよ。 >代入時点で区別する必要はなくて Print 時点で判断すればいいだけ は間違い。 代入時点で区別はついてる。
711 名前:デフォルトの名無しさん (ドコグロ MM13-W6lL) mailto:sage [2017/06/11(日) 16:32:41.31 ID:TSTIJwyzM.net] >>682 まあそのケースがまずいのはわかってるがそんなクラスを作る必要がどんだけあるんだ? って話だな
712 名前:デフォルトの名無しさん (ドコグロ MM13-W6lL) mailto:sage [2017/06/11(日) 16:40:50.47 ID:TSTIJwyzM.net] >>686 > 代入時点で区別はついてる。 だから区別なんてしない 両方ともに参照を入れとくだけ って書いてあるんだが... どうやったらそんなアホな考え方になるのか不思議だよ まあ引っ込みつかなくなってるんだろうな w
713 名前:デフォルトの名無しさん (ワッチョイ db6d-MPbE) mailto:sage [2017/06/11(日) 16:45:50.31 ID:46pYjw9V0.net] >>687 わかってるならその反論はおかしいだろう 言語仕様としておかしくなる デフォルトプロパティがあるなら、setはどうして
714 名前:熹ュ生すると思う [] [ここ壊れてます]
715 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 17:19:36.49 ID:q49UmmFG0.net] >>689 別にそのケースなら参照を返すようにしてディフォルトプロパティは明示する(つまりディフォルトプロパティの意味がなくなる)ようにすればいいだけ 特殊なケースで使えないからと言って全部ダメって言う話ではないでしょ
716 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 17:25:11.30 ID:CaL9CXkoa.net] >>688 引っ込みも何も、今だに何言ってるのか分からん。 とレスしようとしたけど今分かった。 >代入時点で区別する必要はなくて Print 時点で判断すればいいだけ は 「代入時点では参照が代入され、Print時点でデフォルトプロパティが返される」といいたいのだとしたら上の文章の日本語が悪いよ。
717 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 17:36:51.51 ID:q49UmmFG0.net] >>691 > 「代入時点では参照が代入され、Print時点でデフォルトプロパティが返される」といいたいのだとしたら上の文章の日本語が悪いよ。 ほとんどそのまま書いてあるだろ これはさすがに恥ずかしすぎる w >>648 >> var1=Range("A1") > の時点では var1 はセルA1への参照の代入として >> Debug.Print var1 > の時点でディフォルトプロパティを取得して表示すればいいだけ
718 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 17:37:06.07 ID:CaL9CXkoa.net] fooClassとする fooClassのデフォルトメンバはfoo。fooのclassは自身と別のhogeClass class fooClass{ 'この書き方は適当 default public Property foo as hogeClass; } 現在の仕様なら Dim var1 As Varient Set var1=New fooClass() Debug.Print Typename(var1) '->fooClass Dim var1 As Varient var1=New fooClass() Debug.Print Typename(var1) '->hogeClass Set無しの仕様なら Dim var1 As Varient var1=New fooClass() Debug.Print Typename(var1) ->? こういう問題?
719 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 17:43:49.85 ID:CaL9CXkoa.net] >>692 俺は>>661 の段階で真ん中も参照と気付いたわけ。 その後に>>663 が書かれているのは日本語が悪いと言ってる。
720 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 17:47:03.90 ID:46pYjw9V0.net] >>690 自身のclassがメンバに〜は普通にある。特殊ではない
721 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 17:48:52.10 ID:46pYjw9V0.net] 話はずれるが、「エクセルvaが特殊」は事実 20年以上前から生き残っている、大衆に使われ続けているスクリプト言語なんてエクセルvbaだけ 次点でjsだろう デフォルトプロパティだろうがなんだろうが、実装すればデファクトスタンダードになる ある意味、王様である 好きなようにあすれば良いんじゃないかな
722 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 17:51:02.18 ID:q49UmmFG0.net] >>694 > その後に>>663 が書かれているのは日本語が悪いと言ってる。 >>663 に >>648 へのアンカー打ってあるのに何を言ってるんだよ w 恥の上塗りにしかなってないぞ
723 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 17:53:41.74 ID:q49UmmFG0.net] >>695 自身のクラスオブジェクトを返すディフォルトプロパティを持つクラスが特殊じゃないって? 例えば何よ?
724 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 18:07:00.10 ID:CaL9CXkoa.net] >>697 アンカー打ってあっても日本語が悪いのは変わらんぞ。 >>648 が>>663 の文章とどう関係するのか分からん書き方になってるんだから。
725 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 18:18:57.69 ID:46pYjw9V0.net] >>698 特殊かどうかは言ってないね 存在すると整合性が保てなくなると言っている それがExcelの中にあるかどうかなんて知らん
726 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 18:39:15.05 ID:q49UmmFG0.net] >>699 そもそも >>663 の日本語もおかしくないだろ 前提をいくつかはしょってるのは話の流れで省略してもわかるはずって言う考えで書いてる それでも横入りで絡んでくるアホがいるから念のために > >>648 を理解できてないなら絡んでくるなよ とまで書いてある ここまで書いてあって理解できない奴の面倒までは見れんよ w
727 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 18:41:48.44 ID:46pYjw9V0.net] >701 代入時点で評価の必要があります
728 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 18:42:38.69 ID:q49UmmFG0.net] >>700 > 特殊かどうかは言ってないね 頭大丈夫? > 特殊ではない ってはっきり書いてますけど? w > 存在すると整合性が保てなくなると言っている お前さんの考える整合性とやらがどんなもんか知らんけど >>690 でなんの問題もないけどね
729 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 18:43:10.17 ID:q49UmmFG0.net] >>702 理由は?
730 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/11(日) 18:45:21.77 ID:Tl5W6+aa0.net] Set無しVBA言語作るって流れになったら面白いんだけどなぁ。
731 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 18:56:04.59 ID:46pYjw9V0.net] >>703 デフォルトプロパティは毎回明示するのか? A1セルのvalueを知りたい場合は cells(1,1).value と書けば良いのか、なるほどな cells(1,1) だけならエラーを変えした方がいいな
732 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 19:01:02.23 ID:P5Uv9Xu70.net] 型を意識する・させることで皆が幸せになる ...そんなふうに思っていた時期が自分にもありました
733 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 19:05:21.58 ID:UNIZBcCUa.net] >>701 >代入時点で区別する必要はなくて ってのは>>639 の"十分区別できると思うけど"の区別のことだよな。 だったら「代入時点で区別できる」とか、俺の>>603 の"できない"を受けるなら「代入時点で区別できないということはない」とすべきだ。 "必要"とか何が必要? という話になる。 >Print 時点で判断すればいい も、何言ってるのか分かりにくい。
734 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 19:08:29.30 ID:UNIZBcCUa.net] >>706 それ、デフォルトなの? デフォルトって何なの? って言いたいってこと?
735 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 19:12:53.44 ID:UNIZBcCUa.net] まあ、実際には自分はSetに違和感全く感じないし、Variantで宣言することも殆ど無いし、デフォルトプロパティの省略も殆どしないんだけどね。
736 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 19:20:07.39 ID:q49UmmFG0.net] >>706 > デフォルトプロパティは毎回明示するのか? >>682 のケースだけね 実際にあるのかどうかは知らんけど w > cells(1,1) > だけならエラーを変えした方がいいな そう言うオプションはあってもいいと思う
737 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 19:21:24.90 ID:46pYjw9V0.net] >709 いやもう言語仕様を考える時って最初によっぽど不具合がなければそれでいいよねってこと vbaは非常に変則液だけど、まぁエクセル・アクセルのためなら仕方ないんじゃないの
738 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 19:27:31.75 ID:q49UmmFG0.net] >>708 > "必要"とか何が必要? > という話になる。 はあ? 「区別する」必要がないって書いてあるだろ >> Print 時点で判断すればいい > も、何言ってるのか分かりにくい。 お前の理解力がないだけ 何度も書くけど理解できないなら >>648 見ろって書いてあるのになぜか見ずに文句だけは一人前 w
739 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 19:42:43.65 ID:UNIZBcCUa.net] >>713 いや、だから >「区別する」必要がない が変なんだって。 代入時点で区別はついてるのになんで必要とかの話になるの?と受けとられるだろ。 > Print 時点で判断すればいい も、誰が何を判断するんだ?と受け取られる。
740 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 19:42:52.34 ID:P5Uv9Xu70.net] 型を意識しようよ 型を意識するというのは型によって構文(式の形)を変えることじゃないよ。 式の形は同じでも型によって意味が違うとかコンパイルエラーになったりすると認識することだ。 デフォルトプロパティが適用されるべきかどうかは等式の左右の型を見れば基本わかる。 わからないような式は曖昧なんだからコンパイルエラーにすべきだ。
741 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 19:49:48.15 ID:UNIZBcCUa.net] >>715 う〜ん。 むしろSet使ってクラスとリテラルを意識したいけどなあ。 あと、真ん中はやっぱりデフォルトプロパティの代入の方がしっくり来ると思うんだ。 だからこそ、あっさりデフォルトプロパティの代入を捨て去ると思えなかったから>>645 書いたんだぜ。
742 名前:デフォルトの名無しさん (ワッチョイ db6d-qkek) mailto:sage [2017/06/11(日) 20:02:29.23 ID:46pYjw9V0.net] >>715 application内の型を意識しなくていいための、弱い動的型付けなんだよ この設計思想は街ぃがってないと思う
743 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 20:12:03.18 ID:q49UmmFG0.net] >>714 > 代入時点で区別はついてる それはお前が勝手に言ってるだけの話だろ 俺は初めから必要ないって書いてるから > なんで必要とかの話になるの?と受けとられるだろ。 なんて受けとるアホはいないと思うぞ、お前以外は w >> Print 時点で判断すればいい > も、誰が何を判断するんだ?と受け取られる。 マジでオブジェクト指向の勉強しなよ... そんなのを疑問に思うなんて相当レベル低いから
744 名前:デフォルトの名無しさん (ワッチョイ db6d-qkek) mailto:sage [2017/06/11(日) 20:17:12.06 ID:46pYjw9V0.net] >>682 はだめかなぁ 徹底的に論破してほしいんだけどなぁ
745 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 20:19:33.09 ID:P5Uv9Xu70.net] しかし冷静に考えると斬新かもな。 単一の文だけ見て解釈するんじゃなく、複数の文を見て意味を解釈するプログラミング言語。
746 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 20:25:38.17 ID:UNIZBcCUa.net] >>718 >それはお前が勝手に言ってるだけの話だろ 俺が勝手に言ってるとかの話じゃなくて、代入時点で参照であると区別がついてるのが実態だろ。 >「区別」する必要ない >Print 時点で判断すればいい を省略せずにきちんと書いてみなよ。
747 名前:デフォルトの名無しさん (ワッチョイ 7de4-yugn) mailto:sage [2017/06/11(日) 20:26:28.99 ID:tRESVVuh0.net] 俺の考えた最強の言語仕様の話はよそでやってくれ
748 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 21:00:46.39 ID:q49UmmFG0.net] >>72
749 名前:1 > 代入時点で参照であると区別がついてるのが実態だろ。 お前はまず「区別」の意味を調べてから出直してこい A か B かの区別がつくと言う言い方はあるけど A と区別がつくとは言わん > を省略せずにきちんと書いてみなよ。 >>648 で十分だろ それで不十分と言うならほぼ同じこと書いてる >>691 も不十分と言うことだ w [] [ここ壊れてます]
750 名前:デフォルトの名無しさん (ワッチョイ 2306-OlK+) mailto:sage [2017/06/11(日) 21:12:26.64 ID:VtUxFQZs0.net] いつまでくっだらねーーーーーーーー話を続けるつもり?別スレでも立ててそこでやれよ
751 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 21:17:53.56 ID:P5Uv9Xu70.net] もはやどこが起点かわからない
752 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 21:31:09.13 ID:P5Uv9Xu70.net] だれかQiitaにまとめてくれ
753 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/11(日) 21:46:23.06 ID:UNIZBcCUa.net] >>723 お前な、自分は省略してるのに俺の省略は認めないのか? 代入時点で参照であるとデフォルトプロパティとは区別がついてるのが実態だろ。 >>691 は省略しても分かるだろ。 >>663 は省略されてると分からんのだよ。 というより省略しなかった時に正しい日本語になるように思えないからやってみろと言ったんだよ。
754 名前:デフォルトの名無しさん (ワッチョイ e511-Z3xB) [2017/06/11(日) 21:54:15.52 ID:7YVvLMef0.net] 以下のエクセルファイルについてなんですが https://kouseikyoku.mhlw.go.jp/tohoku/gyomu/gyomu/hoken_kikan/documents/zen_sitei_ika_h2905.zip エクセルを開いたあと何もせず閉じようとすると 必ず保存するかどうかを聞かれてしまうのですが なぜでしょうか? また、そのまま「保存する」を選択すると ファイルサイズが半分くらい減ってしまうのも気になります 些細なことで申し訳ありませんが どなたか原因わかる方教えてください。
755 名前:デフォルトの名無しさん (ワッチョイ db6d-RrxM) mailto:sage [2017/06/11(日) 21:56:59.58 ID:46pYjw9V0.net] >728 凄まじい個人情報でてる気もするけど、まぁいいか ・保存するかどうかを聞かれ 2010では聞かれない 揮発性関数とか混じってるのかもな バージョンを教えてほしい
756 名前:デフォルトの名無しさん (ワッチョイ 23aa-D9zB) mailto:sage [2017/06/11(日) 22:06:15.50 ID:P5Uv9Xu70.net] >>728 保存するかどうかなんて聞かれないな 数式もないようだ
757 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/11(日) 22:10:07.67 ID:q49UmmFG0.net] >>727 > 代入時点で参照であるとデフォルトプロパティとは区別がついてるのが実態だろ。 だからそれはお前が勝手に言ってる話 そもそも区別がつくとか言ってるが勝手につく訳じゃなくて処理系が何らかの判断をしてるんだからそんな判断は「必要ない」って書く方が適切だろ > >>663 は省略されてると分からんのだよ。 話の流れ見てたらわかるし、わからん奴のためにアンカーまで書いてるだろ 何回ループするんだよ
758 名前:デフォルトの名無しさん (ワッチョイ 236f-xcYX) mailto:sage [2017/06/11(日) 22:46:10.07 ID:KFvNUsfN0.net] >ファイルサイズが半分くらい減ってしまうのも気になります 減った状態が正しいファイルサイズなんじゃないの。
759 名前:デフォルトの名無しさん (ワッチョイ 2311-OlK+) mailto:sage [2017/06/11(日) 23:33:20.89 ID:49bQJmPP0.net] なんか、何時何分何秒地球が何回回った時ですかあ?と同レベルのやりとりだな
760 名前:デフォルトの名無しさん (ワッチョイ 5b23-cb7n) mailto:sage [2017/06/12(月) 00:17:03.07 ID:y5ZQ52Yx0.net] >>731 やっぱり日本語の問題なんだ。 今をもってしても分かりにくい。 俺が「区別がつく」とか「区別がついてる」というのは「自動的に区別がついてしまっている」ということだ。 「区別がつく」自体に"自動的に"というニュアンスを含んでいる。 だから"勝手に"などという言葉は繋がらない。 "自動的に"というニュアンスを含んでいない場合、例えば意思をもって違いを定義する場合は「区別をつける」となるだろう。 一方、君の言う「判断する」というのは厳密に言えば「意思をもって判断する」ということだ。 「判断する」自体に"自動的ではない"というニュアンスを含んでいる。 君は処理系に対して擬人化を行っているから意思をもってではなく、自動的なニュアンスを含んでいるつもりだろうが、そうであるなら主語である"処理系"を省いてしまってはわかりにくくなるだろう。 これまでの経緯を無視した上で余計な補完をして 処理系が何らかの判断をしてるんだからそんな"俺の"判断は「必要ない」 としても日本語としておかしな文とはならないということは、「処理系が何らかの判断をしてるんだからそんな判断は必要ない」という文章はそれ単体では上記の受け取り方をされても仕方の無い文章だということだ。 今だに分からんのは>>663 の判断するのは誰かって話。 処理系なら判断すれば"いい"などとはならないと思うし。 Print時点で決まっているんだから判断とかいう話にはならない筈だろ。
761 名前:デフォルトの名無しさん (ワッチョイ 2306-OlK+) mailto:sage [2017/06/12(月) 00:24:47.55 ID:Ch/XnpW30.net] ┐(´д`)┌ヤレヤレ
762 名前:デフォルトの名無しさん (ワッチョイ 2332-Ell8) mailto:hage [2017/06/12(月) 01:25:41.57 ID:YlzHeDxH0.net] >>682 foo君久しぶりじゃんwww つかお前らhgだからって不毛な争いしてんじゃねえ よそでやれクズ共
763 名前:デフォルトの名無しさん (ワッチョイ 2332-Ell8) mailto:sage [2017/06/12(月) 01:28:29.93 ID:YlzHeDxH0.net] >>728 ワッチョイ e511- 臭う
764 名前:デフォルトの名無しさん (ワッチョイ 2311-W6lL) mailto:sage [2017/06/12(月) 05:44:51.02 ID:RhdpYx9V0.net] 長文君はなぜか自分の日本語能力を疑わない w
765 名前:デフォルトの名無しさん (アークセー Sx71-sCoW) mailto:sage [2017/06/12(月) 08:46:55.31 ID:ZaZcTWz8x.net] >>736 承認するよ
766 名前:デフォルトの名無しさん (ワッチョイ e511-yTT2) [2017/06/12(月) 19:32:27.05 ID:5L3xq22d0.net] %%%MC+7,8%%% } 000-"M","LES","TUV=0.13325&/0\7&%&", 001-"23","1","0","2","7.14",[\b%7/1444*%812%2.3%7&6111\end\\]{%3%12%\br
767 名前:デフォルトの名無しさん (ワッチョイ db6d-PV39) mailto:sage [2017/06/12(月) 20:31:46.57 ID:ysyGP+YI0.net] >>740 マジで?
768 名前:デフォルトの名無しさん (ワッチョイ eb4c-irun) [2017/06/13(火) 10:48:41.12 ID:UX2HAupn0.net] マクロは記録をいじるぐらいの初心者です AとBファイル開く Aのマクロ作動ボタンを押す BでAで作ったマクロが動き、データが整形される Aファイルが閉じる というのを作れるものなら作りたいけど、可能ですか? Bファイルは毎日新しいのが来ます 出来るとしたら検索ワードが悪いらしく、見つけられないので なんという動作なのか教えてください
769 名前:デフォルトの名無しさん (スッップ Sd43-3C0K) mailto:sage [2017/06/13(火) 11:35:01.49 ID:P4se3SJtd.net] >>742 Aは自分の手元にあるブックでBは他所から届くのか。 「BでAで作ったマクロが動き、」の意味がよくわからない。 なんとなく簡単ぽいけど
770 名前:デフォルトの名無しさん (ワッチョイ 9d73-2i+1) mailto:sage [2017/06/13(火) 11:35:40.67 ID:mycfBP+w0.net] workbook.open 記録ではできない
771 名前:デフォルトの名無しさん (ワッチョイ eb4c-irun) [2017/06/13(火) 12:08:11.62 ID:UX2HAupn0.net] >>743 Aは自分のパソコンに作ったもので、Bは毎日他所からきます。 Bを開いてそこからAで作ったマクロを動かすしかダメですか? >>743 記録ではムリなので、見本となるのがあればいじれないかなと思って聞いてみました
772 名前:デフォルトの名無しさん (ワッチョイ 2306-OlK+) mailto:sage [2017/06/13(火) 12:14:45.05 ID:rPkjB82P0.net] >>742 Aのブックにマクロを記述 ファイル名が固定でないなら GetOpenFilenameでファイルを選択 ごちゃごちゃなんか知らんけど開いたブックBに対して処理をする Aを閉じる(ついでにExcelそのものも終了させる) だろ?
773 名前:デフォルトの名無しさん (ワッチョイ eb4c-irun) [2017/06/13(火) 12:31:59.08 ID:UX2HAupn0.net] >>746 そうです マクロのボタンの作り方とか調べても、同じファイル内で 動くものしか出てこないので、ボタン一押しで動かせないのかと そういう話です
774 名前:デフォルトの名無しさん (アウアウウー Sa99-pGgJ) [2017/06/13(火) 12:32:20.96 ID:5pkXRrDKa.net] 星くん vbaでググって 第2章読めば似たようなことが書いてあるよ
775 名前:デフォルトの名無しさん (ワッチョイ 5b23-3GzE) mailto:sage [2017/06/13(火) 13:52:35.48 ID:TodKlzHt0.net] >>742 普通はアドインにする。 Aファイルは開く必要が無い。 アドインならExcel開いたらAファイルも開いてる。 ブックは非表示だから開いてるようには見えないけどメニューにボタンを追加すればマクロは動作する。
776 名前:デフォルトの名無しさん (JP 0H6b-yTT2) mailto:sage [2017/06/13(火) 14:48:02.77 ID:3KAtKhUpH.net] >>749 君の中では普通かもな
777 名前:デフォルトの名無しさん (ワッチョイ e511-yTT2) mailto:sage [2017/06/13(火) 14:50:25.60 ID:B6CxFrBV0.net] @@@EMO@@@ } 000-"E=0.133348213376128" 001-"4","1.6","2","3","13","3","81","47","0","1","2","85", 002-"813-1>>>1 %$1.3Q!@!$%81.3!$%B,61.2,"13.2"21.7[[%$EMOLA\%/7#/OBLA[%!\2.3=0!&#%<<<Q,S,L,7P,%41%-%2]]%End\]{
778 名前:デフォルトの名無しさん (ワッチョイ eb4c-irun) [2017/06/13(火) 14:52:38.21 ID:UX2HAupn0.net] アドインで出来きました すごい 星君も読みつつあったのですが、とりあえず アドインが上手くいったのでこれで進めます 相談に乗ってくださった方々、ありがとうございました
779 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/13(火) 15:04:10.26 ID:y6bvTk4c0.net] >>742 Sub foo() Dim WB As Workbook With Application.FileDialog(msoFileDialogFilePicker) If .Show Then src = .SelectedItems(1) End With If IsEmpty(src) Then Exit Sub Set WB = Workbooks.Open(src, 0, 1) Process WB If Not WB Is Nothing Then WB.Close: Set WB = Nothing End Sub Sub Process(WB As Workbook) '行いたい処理 End Sub fooをボタンに登録すれば好きなファイルを指定して開くことが出来る。 ファイルBの処理はProcess内に書く。
780 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/13(火) 15:07:40.67 ID:y6bvTk4c0.net] 既に解決している悲しみ
781 名前:デフォルトの名無しさん (ワッチョイ 9d73-2i+1) mailto:sage [2017/06/13(火) 15:25:46.39 ID:mycfBP+w0.net] そして求められていない汎用性のために冗長なコード
782 名前:デフォルトの名無しさん (ワッチョイ a3b3-YGYj) [2017/06/13(火) 18:18:21.99 ID:Te/HyupM0.net] 事務職向けマクロなんだから冗長でも何でも良いと思うけどね。オブジェクト指向バカとか 業務妨害以外の何者でもないと思うしw
783 名前:デフォルトの名無しさん (JP 0H6b-yTT2) mailto:sage [2017/06/13(火) 18:24:08.96 ID:3KAtKhUpH.net] という思考停止
784 名前:デフォルトの名無しさん (ワッチョイ 2b32-Ell8) mailto:hage [2017/06/13(火) 18:43:27.69 ID:kYQNn7N60.net] 上げでちょっと変わった質問する人と foo君がセットで登場するのはたまたまだから ほんとに偶然だから
785 名前:デフォルトの名無しさん (JP 0H6b-yTT2) mailto:sage [2017/06/13(火) 18:47:56.47 ID:3KAtKhUpH.net] >>758 お前がfoo君と呼んでるのは一人ではない
786 名前:デフォルトの名無しさん (エーイモ SEe9-yTT2) mailto:sage [2017/06/13(火) 18:58:03.59 ID:SvV5ll3TE.net] ( ´_ゝ`)フーン
787 名前:デフォルトの名無しさん (ワッチョイ db6d-D9zB) mailto:sage [2017/06/13(火) 19:10:28.45 ID:YXJzvR0D0.net] >>756 エクセルがモロにオブジェクトだから、自然とみんなオブジェクト指向バカになるんだな、これが >>760 そこ
788 名前:はfoonじゃないかな?かな? [] [ここ壊れてます]
789 名前:デフォルトの名無しさん (ワッチョイ a3b3-YGYj) [2017/06/13(火) 19:18:04.89 ID:Te/HyupM0.net] >>761 ははは、オブジェ馬鹿降臨w
790 名前:デフォルトの名無しさん (ワッチョイ db6d-wxle) mailto:sage [2017/06/13(火) 20:06:15.93 ID:YXJzvR0D0.net] >>762 LISP、Haskell、Schemeは本当に使いこなせなかった 君の指摘は正しいよ
791 名前:デフォルトの名無しさん (ワッチョイ 0539-vKbL) mailto:sage [2017/06/14(水) 16:29:22.88 ID:Gr+r/r4M0.net] 初心者です 1 処理A 2 処理B 3 処理C : : こういう流れのVBAで、処理Aと処理Bそれぞれからスタートさせたいときは、どうやるのが一般的ですか。 sub A 処理 A sub B 処理 B end sub end sub これではだめですよね。
792 名前:デフォルトの名無しさん (ワッチョイ 7d3d-OlK+) mailto:sage [2017/06/1
] [ここ壊れてます]
793 名前:4(水) 16:40:22.05 ID:M/IwJ83O0.net mailto: >>764 いまいち何やりたいのか分からないけど、処理 Aを飛ばしたい場合とそうでない場合があるって事なら Sub Foo(b As Boolean) If b Then 処理 A 処理 B 処理 C ... End Sub [] [ここ壊れてます]
794 名前:デフォルトの名無しさん (アウアウカー Sae1-cb7n) mailto:sage [2017/06/14(水) 17:02:48.98 ID:bVPmX3VEa.net] 処理というのがどのレベルなのか分からない。 Sub A() 処理A B End Sub '処理B(Bプロシージャ自体が処理B) Sub B() '処理Bの内容 End Sub とする場合もあれば、 全部の処理をそれぞれ別のプロシージャとして作り、メインとなるプロシージャでそれぞれをよび出す場合もある。 この場合はAからよび出すメインプロシージャやBからよび出すメインプロシージャを作ることになる。
795 名前:デフォルトの名無しさん (ドコグロ MM43-W6lL) mailto:sage [2017/06/14(水) 18:56:34.83 ID:e2eXjlywM.net] >>764 1 処理A 2 処理B 3 処理C : : のパターンと 1 処理B 2 処理C : : のパターンがあるってこと? それなら >>765 みたいにするか Sub ABC_() 処理A Call BC_ End Sub Sub BC_ 処理B 処理C : : End Sub ってやるとか
796 名前:デフォルトの名無しさん (ワッチョイ 0539-vKbL) mailto:sage [2017/06/14(水) 22:27:07.82 ID:Gr+r/r4M0.net] ありがとうございました 自分なりに考えたのは、どこかのセルにフラグを置いといて、 処理中に分岐させるというものでした 767さんがわかりやすいですが、>>765 のやり方を勉強してみます
797 名前:デフォルトの名無しさん (ワッチョイ ba52-2WTa) [2017/06/16(金) 11:40:46.40 ID:uw1+X6cJ0.net] 拡張For文とも言われる For Each (オブジェクト変数) in (そのオブジェクトのコレクション) の構文で、ときどきその(オブジェクト変数)の処理によってFor Each文でまわすコレクションのオブジェクトの順番や数が変わってしまい困っています。 例えば For Each iCell in Activesheet.UsedRange である条件のiCellのときにその直下に新しい行を追加したり For Each iFile in TargetFolder.Files でiFileのファイル名を変えようとした場合に(FileSystemObjectを使ってる) 発生しました。 こんなときは処理結果が意図したものと違ってぐちゃぐちゃになって困っています。 最初にFor Eachの行をマクロが通過したときに処理すべきオブジェクトは固定されないんですか?
798 名前:デフォルトの名無しさん (ワッチョイ 87e4-IXCZ) mailto:sage [2017/06/16(金) 12:07:15.60 ID:Qtgdul+t0.net] For Eachで列挙される順番は、実装依存で保障はされてないはずだけど 普通は同じコレクションに対しては同じ順で帰ってくるよ For Eachで列挙中にそのコレクションに対して変更した場合は、その列挙はどうなるか分からん なので要素を増減させるような処理はFor Eachの中でやっちゃ駄目
799 名前:デフォルトの名無しさん (ワッチョイ 1773-sPwl) mailto:sage [2017/06/16(金) 12:11:25.66 ID:BvP/dFhV0.net] ループ処理中に処理対象を変更したら当然おかしくなると思うが…
800 名前:デフォルトの名無しさん (ワッチョイ ba52-2WTa) [2017/06/16(金) 12:30:40.42 ID:uw1+X6cJ0.net] >>770-771 そんなことはアホなオレでもわかっとりますわ。 その上でそれを回避するような定番な方法や定石的手順の方法を知りたいのですが。
801 名前:デフォルトの名無しさん (ワッチョイ 873d-VgqF) mailto:sage [2017/06/16(金) 12:33:46.29 ID:pJSV/jBP0.net] >>772 ループ内で対象を記録しておいて後で書き換えるとか 一時保管場所を作って蓄積してから元の場所へ戻すとか
802 名前:デフォルトの名無しさん (ワッチョイ ba52-2WTa) [2017/06/16(金) 12:39:06.98 ID:uw1+X6cJ0.net] >>773 しかしそれでも記憶させておくものは参照のメモリアドレスには変わりないと思うから 対処によってこの参照先が変わってしまい同じような意図しないぐちゃぐちゃな結果になったりしませんかね? あとわからないのがFileSystemObjectでファイル名を変えただけで対象が変わってしまうのが不思議。 これは別に要素の増減でもなんでもないのに。