1 名前:デフォルトの名無しさん mailto:sage [2011/11/27(日) 22:36:18.78 ] 01 pc11.2ch.net/test/read.cgi/tech/1054356121/ 02 pc11.2ch.net/test/read.cgi/tech/1168308855/ 03 pc11.2ch.net/test/read.cgi/tech/1180192018/ 04 pc11.2ch.net/test/read.cgi/tech/1189814602/ 05 pc11.2ch.net/test/read.cgi/tech/1197448064/ 06 pc11.2ch.net/test/read.cgi/tech/1205231499/ 07 pc11.2ch.net/test/read.cgi/tech/1212587819/ 08 pc11.2ch.net/test/read.cgi/tech/1219673793/ 09 pc11.2ch.net/test/read.cgi/tech/1228372971/ 10 pc12.2ch.net/test/read.cgi/tech/1235332603/ 11 pc12.2ch.net/test/read.cgi/tech/1241885130/ 12 pc12.2ch.net/test/read.cgi/tech/1247566074/ 13 pc12.2ch.net/test/read.cgi/tech/1254281104/ 14 pc12.2ch.net/test/read.cgi/tech/1262748898/ 15 pc12.2ch.net/test/read.cgi/tech/1271261239/ 16 hibari.2ch.net/test/read.cgi/tech/1280045912/ 17 hibari.2ch.net/test/read.cgi/tech/1289182437/ 18 hibari.2ch.net/test/read.cgi/tech/1298240666/ 19 hibari.2ch.net/test/read.cgi/tech/1305754555/ 20 hibari.2ch.net/test/read.cgi/tech/1312435844/ 前スレ: Excel VBA 質問スレ Part21 hibari.2ch.net/test/read.cgi/tech/1316931607/
684 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 01:05:06.22 ] >>681 もともと初期の vb にはオブジェクトの概念がなく、後付けでオブジェクトを導入したとき、 既存仕様を維持してオブジェクトをサポートするために、特別な Set キーワードを導入した とかそんな話だった気がする Dim a Dim b Set a = Range("b2") b = Range("b2") 変数 a には Range オブジェクトが格納される 変数 b には Range オブジェクトのデフォルトプロパティが格納される
685 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 01:16:11.71 ] >>684 変数にオブジェクトは格納されないよ〜
686 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 01:16:15.37 ] >>684 なるほど、SetありもSetなしも文法上は許容されるのですね であれば、Setキーワードの意味はありますね この例でいうと、デフォルトプロパティは何を指しているのでしょうか?
687 名前:684 mailto:sage [2012/01/06(金) 01:55:17.69 ] >>685 すみません、オブジェクトの参照ですね >>686 厳密にはかなり面倒で、 Range には _Default という隠しプロパティがあってそれがデフォルトプロパティになるらしい _Default には引数(RowIndex, ColumnIndex)を与えることができて、 引数ありだと Item(引数)の評価結果、引数なしの場合は Value の評価結果を返すらしい まあ、通常は Value と覚えておけばよいかと
688 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 02:27:20.28 ] Setは参照の代入だが、Setは省略できないぞ Letっていう値を代入する命令があって、これは省略できる(というか書いてる事がほとんどない) 文法的には省略されてるのはLet
689 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 02:30:27.74 ] >>688 つまり、>>684 の Dim a Dim b Set a = Range("b2") b = Range("b2") のb = 〜の行は、 Let b = Range("b2") と解釈されて、そのとき代入されるのが_Defaultプロパティということ?
690 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 03:07:22.43 ] >>689 うん
691 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 03:11:34.65 ] Letなんてキーワード見たの何年ぶりだろ 昔の教科書には必ず書いてあったけど最近の入門書は最初からスルーしてるよな 試してみたらこれはエラーになった Let a = Range("A1")._Default
692 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 07:21:26.80 ] >>691 Let a = Range("A1").[_Default]
693 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 07:30:27.21 ] LETとかN-BASICですら使ったことがないなw
694 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 09:57:24.70 ] やたら丁寧なコードを書くやつがよくLet使ってたな。 長く書くのが趣味だったんだな。
695 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 19:40:30.41 ] >>681 君>>457 じゃないよね?
696 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 20:07:54.28 ] 凄くどうでもいいです……
697 名前:681!=467 mailto:sage [2012/01/06(金) 22:35:09.33 ] >>695 ちがいます
698 名前:681!=457 mailto:sage [2012/01/06(金) 22:35:30.94 ] >>697 あミスったw
699 名前:681!=457 mailto:sage [2012/01/06(金) 22:36:55.85 ] >>690 どうもありがとうございました。 了解しましたm(_ _)m
700 名前:デフォルトの名無しさん [2012/01/07(土) 02:53:29.64 ] 質問です。 beebee2see.appspot.com/i/azuYl9K_BQw.jpg このように、選択してある[C]の列だけを別の場所(あらかじめ決めているCという枠)へ移したい場合はどうすればいいのでしょうか? コピーは出来なかったのです。
701 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 07:40:10.04 ] Areasプロパティ
702 名前:デフォルトの名無しさん [2012/01/07(土) 09:12:33.09 ] >>700 質問の仕方が悪いと思うよ Excelで単純に"C"と書いたら、通常はシート左端から3列目の"C列"のことだと思われる。 貴方が貼った画像だと"A列"に"C"と書いてある"2","3","4","9"の"行"が選択されてる。 コピーしたいのは選択範囲の"すべての行"なのか、それとも選択範囲の"C列"なのか、 どっちか分からない。
703 名前:デフォルトの名無しさん [2012/01/07(土) 09:50:23.96 ] >>700 ふつうにA列をフィルタして 抽出されたセルたちを「切り取り」して 他所に「貼り付け」してOKと思ったけど、 うまくできないね。 「切り取り」して「貼り付け」だと、フィルタで隠れた行まで移動してしまう。 「コピー」して「貼り付け」だと、フィルタしたものだけがコピーされるのに。 自分もこんな発見をして勉強になったよ。 力にはなれなかったけど、うまくいく方法が見つかるといいね。
704 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 09:51:31.30 ] >>702 すいませんでした。 2.3.4.9の選択されている行です。
705 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 12:53:42.20 ] 22 名前:名無し募集中。。。[] 投稿日:2012/01/06(金) 23:40:34.39 0 AKB=金正恩 この意味わかるか AKBという捏造ブームの裏に何があるか見えるか?
706 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 12:56:07.04 ] >>700 選択範囲は Application.Selection で取得できるけど、 選択範囲が複数になる場合、Application.Selection.Areas に各選択範囲(Rangeオブジェクト)のコレクションが格納される 面倒だけど、最初に Areas の値を保存しておいて、ループ処理で各 Range 毎に処理するとかになるんじゃないかなあ
707 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 13:16:59.99 ] >>700 とりあえず手動で今の状態からコピーしたいなら複数行の選択じゃなくセル範囲の選択でコピーしたら 貼り付け先には飛ばした行を詰めて貼り付けできるけど。
708 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 15:02:44.54 ] >>700 関数使いたいなら作業列使えば可能 作業列1 =IF($J$2=A2,COUNTIF($A$2:A2,A2),"") 作業列2 1から連番 作業列3 =MATCH(G2,$E$2:$E$28,0) L列 =IFERROR(INDEX($B$2:$B$28,H2),"") M列 =IFERROR(INDEX($C$2:$C$28,H2),"") ozcircle.net/_uploader/69930900 常にデータが増える表ならVBAの方が楽だけどそうでもないなら関数の方が早い。
709 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 15:28:48.21 ] >>704 やっぱりよく分からない 複数選択範囲(行単位)の移動(カット&ペースト)が行いたいが、通常では複数選択範囲のカットができない、というだけ話なら 移動先を ActiveSheet.Range("100:100") と仮定した場合、 Application.Selection.Copy(ActiveSheet.Range("100:100")) Application.Selection.Delete() のようにコピー+削除でいけると思うけど、そういう話ではないの?
710 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 18:08:58.21 ] >>703 .>>706->>709 レスありがとうございます! >>700 の者です! 初心者かつ、語彙力がなく、説明不足ですいません。 わからなかった言葉もぐぐってみます! >>709 さんの回答が一番近いと思うのですが、 私はカットではなく、[A.B.C]とグループ分けをしたうちの[C]だけを別のページをコピーペーストしたいです。 簡単にいうと、複数選択のコピーの方法が知りたいです。 beebee2see.appspot.com/i/azuY3Iu-BQw.jpg この画面でいうと、3.5.6.7.12.15行目をコピーしたいです。 右クリックでコピーを選択すると beebee2see.appspot.com/i/azuYvILBBQw.jpg このような画面が出ます。 一つ一つ貼っていくには膨大な量なので時間が足りません。 皆さんが教えて下さった数式(?)関数(?)を今から試してみようと思います! それらが出来たらまたここに来て見ます。 何度もすいません、もう少しお付き合い下さい… ありがとうございます。
711 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 18:43:31.57 ] >>710 >>709 の例は複数選択可能で、2行目のDeleteしなければただのコピー 現在のシートの選択行(複数選択あり)をたとえば シート(Sheet3)の10行目にコピーしたいなら Application.Selection.Copy (ActiveWorkbook.Worksheets("Sheet3").Range("10:10")) みたいなマクロだけでいけると思うけど
712 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 18:57:02.57 ] >>710 > この画面でいうと、3.5.6.7.12.15行目をコピーしたいです。 > 右クリックでコピーを選択すると > beebee2see.appspot.com/i/azuYvILBBQw.jpg > このような画面が出ます。 > たぶん行の選択の仕方が間違っている ちゃんと選択すれば、そんな警告はでないしコピーできる
713 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:03:54.59 ] >>712 ああ、行を選択してコピーしたあと、セルを選択して貼り付けようとするとその警告ですね。 貼り付ける時も行を選択して貼り付けたら警告でないです。 ていうか>>710 は手動で選択してますよね。膨大な量というなら行を選択してる時点ですでに 間違いだとおもう。 オートフィルタ後コピペかABC列を昇順・降順並べ替え後にコピペが普通だとおもう。
714 名前:デフォルトの名無しさん [2012/01/07(土) 19:07:31.79 ] >>710 なんか操作を間違ってないか? 複数の行を選択しているとして 右クリックから「切り取り」ならそのエラーが出るけど、 「コピー」だとエラーでないよ。 まぁ複数範囲の選択をしたときにいつでもコピーできるわけじゃなく、 たとえばA1とC3を選ぶみたいに行も列もばらばらの範囲だとコピーもできない。 Range(A1:C3)とRange(E1:G3)みたいに列が同じで行だけ飛んでる場合なんかはコピーできた。
715 名前:デフォルトの名無しさん [2012/01/07(土) 19:12:24.86 ] >>710 の訂正で >私はカットではなく、[A.B.C]とグループ分けをしたうちの[C]だけを別のページをコピーペーストしたいです。 は、 [C]だけをコピーし 別のページにペーストしたいです。 わかりづらくてすいません。 今からレス返します。ありがとうございました。
716 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:14:22.35 ] >>711 なるほど! そのマクロ(?)をペーストしたいセルに打ち込めば出来るんでしょうか? 今してみたら何も起きませんした…
717 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:15:13.48 ] >>712 選択の仕方が間違えていますか!そうかもしれません。 今は、コントロールキーを長押ししながら選択しています
718 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:18:12.73 ] >>713 ありがとうございました!!!!!コピー&ペーストできました!!!!、 本当にありがとうございました! こんな皆様の高度な知識の中基本も知らない私が頼りに頼ってしまいすいませんでした…… 本当に助かりました! ありがとうございました!!!!!
719 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:19:45.13 ] 複数選択の手動は大変ですがオートフィルの昇順がよくわからないので、今回は手動でいきます。 本当にありがとうございました!
720 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:25:26.20 ] >>719 こっちで質問したほうがよかったね toro.2ch.net/test/read.cgi/bsoft/1319632190/
721 名前:デフォルトの名無しさん [2012/01/07(土) 19:25:40.93 ] >>719 オートフィルじゃなくてオートフィルタだよ A列選択しといて ツールバーのデータ(D) -> フィルタ(F) -> オートフィルタで A列の項目を選択してコピーできるようになる
722 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:28:14.13 ] と思ったたら、もうしてた
723 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 01:33:43.29 ] どうでもいいけどプリントスリーンってがあるよ
724 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 01:44:13.00 ] vbaでパケットキャプチャって出来る?
725 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 07:34:05.68 ] どっかでカーネルドライバが必要になるから、単体だと無理な気が。
726 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 09:50:28.06 ] そうやってカーネルで遊ぶんだよ。 たしか、井上も推奨してたな。 カーネル遊び
727 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 19:15:54.10 ] 震災前 /::::::::::::::::::::::::::::::;;::ノ ヽ;::\ /::::::::;;;;;;;;;,,,;;...-‐''"~ ヽ:;::l |:::::::::::| 岡田 異音 |ミ| |:::::::/ ,,, ヽ,、 '|ミ| '|:::::::l '''"" ゙゙゙゙` |ミ| |:::::|. ,,r ‐、 ,, - 、 |/ ,/⌒| ノ ・ _), (. ・ `つ| | ( "''''" |"'''''" | ヽ,,. ヽ | | ^-^_,, -、 | | _,, --‐''~ ) | マニフェストもう守れない。どうしよう・・・・ 'ヽ ( ,r''''''‐-‐′ / 震災後 |:::::::::/ |ミ| |::::::::| ,,,,, ,,,,, |ミ| |彡|. '''"""'' ''"""'' |/ /⌒| -=・=‐, =・=- | | ( "''''" | "''''" | .ヽ,, ヽ .| キリッ | ^-^ | . | ‐-===- | 大震災が起こったのだからマニフェストの破綻も致し方ありません ,\. "'''''''" / 朝鮮民主党 おわり
728 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 01:54:46.47 ] ビジネスsoft板でVBAのスレ探してたんだけど、なかった。 プログラマ板だったのね。VBAやれる人はプログラマでいいんだ。 HTMLとCSSはできてもプログラマじゃないって言われたことあるけど。
729 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 02:55:30.12 ] VBAやれる人がプログラマと呼べるとは限らない。 プログラマが触る対象がたまたまVBAだったならマ版にスレが立つだけで。
730 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 08:00:22.21 ] ちょっと何いってっかわかんないっすね
731 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 14:41:45.23 ] パスワードかけるのを標準モジュールだけとかできる?
732 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 17:09:08.89 ] あれはプロジェクト単位でしょ
733 名前:デフォルトの名無しさん [2012/01/10(火) 22:42:54.05 ] A列の一番最後にデータが入力されている箇所を取得したい場合 下記で良いと思いますが Range("A60000").End(xlUp).Row 上記以外の方法つまりRange("A60000")の記載がソースとして綺麗ではないので もし他のやりかたとかあれば教えてください
734 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 22:50:42.61 ] >>733 cells(rows.count,1).end(xlup).row
735 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 23:30:01.65 ] 皆どれくらい勉強してVBAを使いこなせるようになった?
736 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 23:36:00.15 ] 10年以上やってるけど使いこなせてるとは思えない どこまでできれば「使いこなした」ことになるんだ?
737 名前:デフォルトの名無しさん [2012/01/10(火) 23:58:18.81 ] VBAがある程度以上できる人の、他のPCスキル状況を知りたい。 Excel関数、Word文書づくり、Accessデータベース構造、Powerpointの効果的飾りや、 それにとどまらず、JAVA, JAVAScript、VisualBasic、VisualC++、 HTML、CSS、Perlや Network、TCP/IP、Unixも完璧にマスターしたりしてる?
738 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 06:38:45.74 ] >>735 処理重くてもなんでもいいからこれ自動化したいと思った事をそれなりにできるようになる ぐらいなら1日1時間で3ヶ月目ぐらいには出来てた。 後からの修正がやりやすいようにクラスを使うようになったのは1年過ぎてから。 現在は、4年過ぎた今でも、ちょっと凝った事する時はネットに繋がったPCで調べれないと ちょっと困る。 VBAでゲームとか作ってる人のレベルには永久に到達しないと自覚してる。
739 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 07:33:35.99 ] ゲームが作れるのと、Excelの機能を活かせているかは全然別問題。 どちからというと縄張りの違いだな。 ユーザーから提供されたシートが、Excel関数活かしまくりで驚かされることも多々あるし。
740 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 12:30:34.70 ] 関数を駆使してるようじゃ素人。 Excel扱うならほとんど関数は不要。
741 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 16:52:14.30 ] いるよな。ワークシート関数にあるの知らないで自作関数でバグ出すやつ
742 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 17:21:24.04 ] worksheet関数のコードって知ることできない?
743 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 17:44:07.83 ] 埋め込み関数もVBAも両方使えば良いだろ。 VBAコードにするまでもない場合あるし、 VBAとハイブリッドでつこてもいいじゃろし。
744 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 18:25:16.48 ] カレントドライブを変更する方法教えてください Sub testdirectory() Dim fld As String fld = "c:\temp" If Left(CurDir, 1) <> Left(fld, 1) Then ?????????? End If End Sub ↑の???です。 chdirはフォルダは変更してもドライブが変更しないってあるんで、ドライブを変える方法を知りたいです
745 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 18:38:07.98 ] chdriveは違うの?
746 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 18:58:48.97 ] それです^^;ありがとう
747 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:09:25.88 ] とあるwebサイトのHTMLテキストを取得してそれをエクセルに反映させたいのです 方法を誰かおすえて
748 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:20:46.34 ] >>747 それだけだと何とも言えん Webクエリでも使っとけ
749 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:43:29.63 ] >>748 ソースを取得したいのです
750 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:47:40.97 ] >>749 >>261-264 あたり
751 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:48:51.00 ] >>749 そーっすか。
752 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:58:51.34 ] >>534 これ分かる方いませんか? ツリービューを使っていますが イメージリストコントロールver6 ツリービューコントロールver6 両方チェックいれています ちなみにソースコード内全て検索しましたがRangeは使っていません
753 名前:752 mailto:sage [2012/01/11(水) 20:03:21.58 ] 頭冷やしたら解決しました
754 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 20:11:29.98 ] functionである範囲を入力としてとる関数を作っています。 その範囲内の単一のセルが書き換わったとき、そのセル位置を取得方法を教えてください。 2003です。
755 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 20:27:21.73 ] 文章がよくわからんがWorksheet_Changeイベント使ったらどうですか
756 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 20:45:34.14 ] Dim K-ON! As Nyan
757 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 22:09:24.89 ] As Nyan が言いたいだけなんじゃないかと
758 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 22:14:26.15 ] Dim Anal As Hole
759 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 22:30:25.15 ] >>755 sum関数みたいな範囲指定なんですが、 変更した数値に対して処理を付加したいんです。 直前のセルの値をstaticで保持しておいてもいいのですが、 全数を比較処理して、変更箇所を見つけるプロセスは処理コストかかるので、 簡単にできないかと。
760 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 00:11:10.87 ] >>759 Worksheet_Change
761 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 08:57:38.12 ] >>759 ユーザー定義関数? だとしたらそのアプローチが間違ってるよ 処理を付加とかわかんないから詳しく
762 名前:デフォルトの名無しさん [2012/01/12(木) 16:11:18.52 ] 2chやニコニコ動画に民主党から反日工作費が流れていることが知られるようになってきた。 民主党が用意した資金で工作員が2chを荒らしていることもだんだんと知られるようになってきた
763 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 19:56:33.69 ] >>759 あいかわららず何がしたいか全然わからいけど例えばこんなこと? B1に下記のように式が入力してあって =SUMもどき関数(A1:A2) 直前の操作(変更)がA1かA2なのかによって B1に表示される結果を変えたいということかな。 だったら無理だと思う。
764 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 02:56:51.89 ] スレ違いなら誘導していただけるとありがたいです。 環境の都合上、vbaで作らなければいけないのですが、 別アプリケーションの指定したピクセルの色で判断し、 キー入力をエミュレーションしたいです。 別のアプリケーションの色の取得はどうすれば出来るでしょうか?
765 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 04:55:15.99 ] >>763 それなら出来る。 面倒くさかったけど作ったことがある
766 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 08:31:16.77 ] マクロ有効ブックAのvbaで別のマクロ有効ブックBを開き、ブックBはWorkbook_Openイベントで自分自身を編集します。 編集後にそのブックBを手動で別のフォルダに保存したいのですが、 『名前をつけて保存』のダイアログボックスはブックBの元の読み込みフォルダを開いてしまいます。 これを自分の好きなフォルダを開くようにマクロから設定できないでしょうか?
767 名前:766 mailto:sage [2012/01/13(金) 09:23:12.96 ] ちなみに、ブックBのマクロ内で ChDir "C:\" としてもダメでした。 ChDir "C:\" S = GetSaveAsFilename() ThisWorkbook.SaveAs S とかならC:を開いて保存できますが、 保存するかどうかは任意なので できれば手動で『名前をつけて保存』を選び、 そのときに指定したフォルダでダイアログボックスを開くようにしたいのです。
768 名前:766 mailto:sage [2012/01/13(金) 09:26:35.73 ] すみません、ちょっとミスってました >S = GetSaveAsFilename() は >S = Application.GetSaveAsFilename() の間違いです。
769 名前:デフォルトの名無しさん [2012/01/13(金) 12:03:05.01 ] 2000版だと ChDir "C:\xxx" Application.Dialogs(xlDialogsaveAs).show もし違ったら新しいマクロの記録を使ってダイアログボックスで保存した後、記録の終了→マクロを開いて編集して下さい
770 名前:766 mailto:sage [2012/01/13(金) 12:49:53.26 ] どうもありがとうございます 都合により、来週水曜日まで そのマクロにさわれないので来週試します。 本当にありがとうです
771 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 21:36:08.80 ] >>764 Win32APIで別アプリのウィンドウハンドルを取得 これでわからなかったら、正直に「できません」と言ってあきらめろ
772 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 23:59:40.19 ] 野田改造内閣に早速疑惑浮上 @aritayoshifu 有田芳生 捜査当局が内偵を続けている農水疑惑。詳細な怪文書まで出回っている。3億円の 行方はどこに? @minorucchu ジャーナリスト 田中稔 野田改造内閣を揺るがす、農水省3億円スキャンダルの怪文書。二人の議員名が浮上。 34分前 webから https://twitter.com/#!/minorucchu/status/157687110562881537 鹿野と筒井らしい 自公は問責も視野に調査開始だって
773 名前:デフォルトの名無しさん [2012/01/14(土) 01:11:28.42 ] A1=1 B1=あいう A2=2 B2=かきく A3=3 B3=さしす 1.txt、中身があいう といったテキストをUTF-8で複数作成したいのですが どうすればよいでしょうか? Sub out_ex_euc() Dim MyIndex, myADOstr For MyIndex = 1 To 3 myADOstr = FreeFile Set myADOstr = CreateObject("ADODB.Stream") myADOstr.Charset = "UTF-8" Open Cells(MyIndex, 1) & ".txt" For Output As #myADOstr Write #myADOstr, Cells(MyIndex, 2).Text Close #myADOstr Next MyIndex End Sub こんなの書いてみたのですがダメでした
774 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 01:36:06.05 ] >>773 なんでプロシージャ名がeuc?ってのはおいといて、FreeFileとか宣言してない変数がいきなり出てくるあたり どっかのコピペなんだろうけど、もうちょっと落ち着いてコードを見直そうね Sub out_ex_euc() Dim MyIndex, myADOstr For MyIndex = 1 To 3 Set myADOstr = CreateObject("ADODB.Stream") myADOstr.Type = 2 'Textモード myADOstr.Charset = "UTF-8" myADOstr.Open myADOstr.writeText Cells(MyIndex, 2).Text myADOstr.saveToFile Cells(MyIndex, 1).Text & ".txt", 2 myADOstr.Close Set myADOstr = Nothing Next End Sub
775 名前:デフォルトの名無しさん [2012/01/14(土) 01:53:53.22 ] >>774 有難う御座います! 無事出来ました。 本当に助かりました。
776 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 11:31:16.38 ] 指定されたフォルダー内のファイル名を作成日時の 降順に並べ替えるにはどうすればいいでしょうか? ファイル名の一覧を取得して、別の配列に作成日時を 比較しながら挿入して行く方法しか思いつかないのですが、 もっと簡単な方法はありますか?
777 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 11:44:00.25 ] dir /b /a-d /od の実行結果を取り込む。
778 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 11:52:12.23 ] >>774 > FreeFileとか宣言してない変数 変数じゃないし。 まあ、ADODB.Stream 使うなら関係ないけど。
779 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 11:57:19.44 ] dir /b /a-d /od- だったw
780 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 15:07:46.00 ] >>779 /tc
781 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 15:48:47.05 ] ファイルディスクリプタを返す関数か
782 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 15:53:31.63 ] >>773 >>774 >>778 AODで UTF-8のtxt作る場合にはBOMがくっつくから 不要ならばバイナリで扱って掃除しないと困るよん。 と、焼酎飲みながらカキコ
783 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 16:45:49.71 ] 反日ネット工作員 朝日新聞社→社員約300人 民主党とその取り巻きの資金が入った反日工作会社→数社約450人 朝日新聞の社員は捕まった49歳の編集者を含め新聞記事を書く合間に2chを荒らしている程度とみられているが 民主党が用意した反日工作会社はほぼ24時間体制で工作を行っている 工作範囲は民主党が予め工作費を流している2ch、ニコニコ動画を中心にyoutube、個人のブログなどである。
784 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 18:01:51.55 ] detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1479372954