1 名前:デフォルトの名無しさん mailto:sage [2018/09/10(月) 21:42:39.57 ID:K1uuwFLt.net] ExcelのVBAに関する質問スレです コード書き込みや作成依頼もOK ※前スレ Excel VBA 質問スレ Part56 mevius.5ch.net/test/read.cgi/tech/1534976724/
70 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 22:51:05.07 ID:h6vRwHat.net] LENBなどB付き関数を使わない限り、半角全角は考える必要ないだろ?Excelは内部では全部Unicodeで扱ってる
71 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 23:14:10.61 ID:VdLZkjGs.net] テトリスなんか複雑すぎて、VBA の奴に作れるわけないだろw 回転もあるし、壁にめり込んだり、 そもそも1秒に10回でも、描画できるか? そんな性能あるか?
72 名前:デフォルトの名無しさん [2018/09/15(土) 23:15:54.34 ID:8rxpHkWL.net] 一秒に1回しか動かんのになんで10回も描画せなあかんねんw
73 名前:デフォルトの名無しさん mailto:sage [2018/09/15(土) 23:18:58.10 ID:h6vRwHat.net] 回転は最低3回/秒位必要だろうし、落ち速度が速くならないテトリスじゃかたておちだろ
74 名前:デフォルトの名無しさん [2018/09/15(土) 23:35:07.83 ID:XNrqFkTO.net] >>62 >@事前に囲い文字を把握しておく で、囲い文字があるかないか、事前に分類しておく 分類後、囲い文字があるものに対して、 vbaを使わずにleft、rightを使って抽出。 これで囲い文字の種類を全部押さえていることになる。 後は、コード内で正規表現(grep)使ってうまくやればなんとかなりそう。
75 名前:デフォルトの名無しさん [2018/09/16(日) 00:44:02.64 ID:sPpLNVSR.net] ちょっとよくわからんのだけど "aiueo≫ とか ≪"aiueo" とか ≪"aiueo≫ " はエラーとして除外するの?
76 名前:デフォルトの名無しさん [2018/09/16(日) 01:22:34.32 ID:k7pdoQET.net] >>72 エラーとして除外する。
77 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 02:44:47.45 ID:BKY25fNA.net] >>47 VBAテトリスって余興みたいなものだから 応用力を見る題材というならたとえば 在庫や売上の情報から在庫切れや長期在庫 利益率ランキングを算出するとか 株式情報から各種指標を算出するとか そういうのがビジネス寄りで適切だと思う >>49 テトリス自体はそんな難しくない しいていえばゲームは全部GUIに依存するから その部分が複雑になりがちなだけ
78 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 02:48:34.41 ID:BKY25fNA.net] >>48 >一つのExcelファイルに > プログラム > 設定データ > 蓄積データ >をまとめるのはやめとけって忠告したのに 分かる 要はハードコーディングでしょ
79 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 02:51:31.52 ID:BKY25fNA.net] >>59 正規表現がプログラミングの正攻法 なお「<a><b>c</b></a>」 こういうタグの入れ子構造は 正規表現で処理するのは難しい
80 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 07:54:39.60 ID:GNhjMZyx.net] ゲーム作れるから事務処理作れるっていう発想が実務浅いんだろうな
81 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 09:28:10.74 ID:e7XchwPX.net] VBAを使いこなしたいとは思っているようだけど、「事務処理に使う」とは言ってないのでは。 俺はそのままやってみたらいいと思ってる。Excel VBAでアニメーション作った動画とかもポロポロあるわけだし。 (https://twitter.com/excelprog/status/993022444221808640とか) 目標が分からないし、何をやりたいにせよ好奇心を止めることはできないし。 (deleted an unsolicited ad)
82 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 10:51:52.18 ID:SnNXv25N.net] 実用性で言ったら他の言語を使えばいいじゃんってなるから こうやってVBAを使うことそのものを目的にして遊ぶのは悪くないと思う
83 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 11:32:42.62 ID:gTaOdbFs.net] >>68 テトリスってそんなに複雑か? ゲームの中では簡単に制作できるほうだろ
84 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 12:11:54.55 ID:570fQ2zr.net] >>68 既に存在するけど、テトリス
85 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 12:38:30.87 ID:eHdm07t1.net] JavaのAPI仕様みたいな、VBAのプロパティやメソッドが一覧になってるサイトや書籍てありますか? 他人のソース読むとき、公式のやつが英語のみで辛いんです……
86 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 14:28:02.06 ID:gTaOdbFs.net] >>47 ゲームを題材にするならRPGが最適じゃないかな RPGならデータをこねくり回すしExcelVBAの勉強には良さそうだが キャラや地図のデータをワークシートに保存して VBAでそれにアクセスしながらゲームを進行させる感じで
87 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 18:44:46.22 ID:krLSHvzW.net] VBAマリオだってあるんだし 作ろうと思えば、ある程度までは可能だろう
88 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 20:14:07.75 ID:BKY25fNA.net] そもそもVBAはアクションゲームに向かないんだよ もう技術がある人がそれを承知で芸をやるのは良いけど 実用にしたいならビジネス用の題材を取った方が良い
89 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 20:17:15.86 ID:BKY25fNA.net] >>83 RRGはテトリスよりは題材としてマシだと思う ドラクエみたいな普通のGUIのRPGを エクセル方眼紙で再現するとかだと筋悪いけど そうじゃなくてCUIのRPGで アイテムとかデータ構造の構築と管理を中心に組めば ビジネスにも応用が利くと思う
90 名前:デフォルトの名無しさん [2018/09/16(日) 21:26:15.56 ID:k7pdoQET.net] 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を使わずになんとかできない?
91 名前:デフォルトの名無しさん [2018/09/16(日) 21:29:05.54 ID:k7pdoQET.net] >>83 確かにRPGのほうがワークシートの保存とかデータ構造の
92 名前:管理とか色々関わってくるのでテトリスよりは題材としてマシなレベルですね [] [ここ壊れてます]
93 名前:デフォルトの名無しさん [2018/09/16(日) 21:31:24.63 ID:k7pdoQET.net] 87ですが、vbaで加工しないといけない場合、どういった整形処理が考えられますか?
94 名前:デフォルトの名無しさん [2018/09/16(日) 21:31:41.83 ID:sPpLNVSR.net] >>87 CSVの意味わかってる?
95 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 21:33:00.45 ID:e7XchwPX.net] >>87 CSVデータの仕様が悪い気がする。 カンマを含むデータならダブルクォーテーション""で括られているべき。
96 名前:デフォルトの名無しさん [2018/09/16(日) 21:36:22.33 ID:k7pdoQET.net] >>90 CSV(コンマで区切って表示するもの)なので、 hello,world→helloとworldに分割されるのは当然と言えば当然ですが、、。
97 名前:デフォルトの名無しさん [2018/09/16(日) 21:40:43.38 ID:SOVIz+sV.net] 逆だ 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 わかった?
98 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 21:45:22.98 ID:e7XchwPX.net] >>92 1,my name is taro 2,hello,world ↓ 1,"my name is taro" 2,"hello,world" ※my name is taroは括られている必要はないが、統一した方が良い
99 名前:デフォルトの名無しさん [2018/09/16(日) 21:45:42.24 ID:sPpLNVSR.net] >>87 そもそも何がしたいのか? 1列目:ナンバー 2列目:内容 という固定フォーマットで区切りがカンマだってならそのように分解すればいい。 InStrで最初のコンマを探せばいいだろうよ。
100 名前:デフォルトの名無しさん [2018/09/16(日) 21:45:49.49 ID:k7pdoQET.net] >>93 つまり、CSVデータの仕様が悪いので、これ作った人になんとかしろというしかないか。
101 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 21:48:00.44 ID:e7XchwPX.net] >>96 カラム数が一定かつ「hello,world」なカラムが一つしかないなら、泥臭いやり方で直すことはできなくもない。
102 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 21:52:12.15 ID:T59P/aqG.net] >>96 はっきり言ってCSVデータとして「壊れてる」 というかどのカンマが残ってどのカンマが区切りなのか 理論的に説明できないならVBAだろうと無理
103 名前:デフォルトの名無しさん [2018/09/16(日) 21:53:10.26 ID:SHD7Rtu/.net] VBAでダメならPowerShellの出番だな
104 名前:デフォルトの名無しさん [2018/09/16(日) 21:54:27.21 ID:SOVIz+sV.net] 仕様はまったく悪くない 適切に読み込める 普通に矛盾なく読み込めるようになってる ちゃんと読み込めないのは頭悪いから 自分が頭悪いのを棚にあげるのはよくない 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じゃない
105 名前:デフォルトの名無しさん [2018/09/16(日) 21:55:20.90 ID:k7pdoQET.net] >>95 最終的には表を 1列目:ナンバー 2列目:内容 にそろえたい。 2列目の内容には、英文が入る。英文には文章の区切り点としてコンマ(,)がよく使われる。
106 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 22:08:17.61 ID:e7XchwPX.net] >>101 ・1行の列数はn列 ・カンマが含まれる列は最も右の列だけ の場合なら、左からn-1個目のカンマから右の文字列は全て問題のフィールドと解釈して処理すれば良い。
107 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 22:16:05.95 ID:e7XchwPX.net] ああ、通常に考えるとまともに使えるCSVファイルではないので、 たぶん、CSVファイルを作成した後のことは何も考えないで作ったか、 あるいは特定のプログラム内でしか使わないことを想定したデータ(つまりCSVじゃない)かのどちらかだろうと思う。 もし前者なら、その仕様でCSVファイルを作成した(ツールを作成した)人には言っといた方がいい。
108 名前:デフォルトの名無しさん [2018/09/16(日) 22:24:51.91 ID:SHD7Rtu/.net] >>101 読み込む前に整形すれば良い PowerShellならワンライナー cat test.csv | % { $i = $_.IndexOf(",") ($_.Substring(0, $i), "`"$($_.Substring($i + 1, $_.Length - $i - 1))`"") -join "," } | Out-File "dest.csv"
109 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 22:33:25.75 ID:IXQKD+r/.net] カンマが嫌ならタブ区切りにする どちらにしろ元データは要修正だよ
110 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 22:42:58.47 ID:gTaOdbFs.net] >>86 そうそうCUIベースのRPG ワークシートごとにキャラデータやアイテムデータ、地図データなどを設定して CUIで画面構成して進行する感じ クエリワークシートなども用意して簡易データベース的に データを利用してゲーム進行してやれば結構いい勉強になると思う
111 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 22:44:29.60 ID:bux1ZB5P.net] tsv形式のcsvファイルに作り直した方が良いと思うわ
112 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 22:45:20.56 ID:mzkrOy05.net] >>104 powershellならget-content使え 置き換えも-replace一発で正規表現で出来るだろ
113 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 22:48:48.42 ID:+ao0anr7.net] >>104 そんなややこしい事しなくても cat test.csv | %{ $i = $_ -split ',',2; "$($i[0]),""$($i[1])""" } > dest.txt でいいでしょ
114 名前:デフォルトの名無しさん [2018/09/16(日) 22:48:54.01 ID:SHD7Rtu/.net] >>108 catはget-contentのエイリアス 正規表現使わなくてもできる 自分はこう書くっていうのがあるなら 僕にレスせずにそれを出すべきかと
115 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 23:09:32.96 ID:16Y59QgZ.net] powershellが便利でVBAの出るまくなしってのはよくわかったけど ここはVBAスレだからせっかくなのでVBAで解答を書いてみてよ だいたい5行ぐらいでできるかな?
116 名前:デフォルトの名無しさん [2018/09/16(日) 23:10:09.34 ID:k7pdoQET.net] Inputがtxtなので、中身をみてコンマ(,)で区切られているので、CSVと勘違いしてしまったかもしれない 作った人に、CSVか確認してみます。
117 名前:デフォルトの名無しさん mailto:sage [2018/09/16(日) 23:27:45.95 ID:EK9e0hMh.net] CSV はカンマ区切りだから、列にカンマが入る可能性を考えて、各列を、" で囲む。 列内で、カンマを使いたい場合は、\ でカンマをエスケープする。\" 列内の文字列、a\"b 列、"a\"b" それか、TSV。タブ区切りを使う。 ただし、これも列内にタブを使わないようにすべき 基本、システムを知らない人には、設計(SE)はできない! こんなの誰でも知っている常識だからw
118 名前:デフォルトの名無しさん [2018/09/17(月) 00:05:45.07 ID:dj7qSZnZ.net] また低学歴知恵遅れがテキトーなこと書きこんでるわ。。。
119 名前:デフォルトの名無しさん [2018/09/17(月) 00:11:35.39 ID:dj7qSZnZ.net] 一般化すればこうなる 列のデリミタや行のデリミタ、もしくは引用符を含む場合 引用符で括る 引用符が含まれる場合、引用符は引用符の前に引用符を1つ記述する csvの場合、 列のデリミタはカンマ 行のデリミタはCRLF 引用符はダブルクォート になる タブ区切りの場合、列のデリミタはHTになる わかった?
120 名前:デフォルトの名無しさん [2018/09/17(月) 00:22:08.36 ID:27GPeyCI.net] >>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()
121 名前:デフォルトの名無しさん [2018/09/17(月) 00:26:30.19 ID:27GPeyCI.net] >>115 RFCはそうだけど "を\でエスケープするやり方もあるよね
122 名前:デフォルトの名無しさん [2018/09/17(月) 00:36:24.95 ID:dj7qSZnZ.net] そんな低学歴知恵遅れマイルールは 低学歴知恵遅れのマイルールが通用するシステムでないと通用しない 低学歴知恵遅れのやりかたの別のファイル形式になる 低学歴知恵遅れのやりかたとcsvの形式は一切関係ないからな なんで低学歴知恵遅れは 低学歴知恵遅れのマイルールを押しとうそうとすうんの? 低学歴知恵遅れの世界でしか通用しないのに
123 名前:デフォルトの名無しさん [2018/09/17(月) 00:38:15.86 ID:dj7qSZnZ.net] この内容のExcelをcsvに出力する A B C aho boo"foo baka aho boo"foo baka 普通に aho.csv aho,"boo""foo",baka aho,"boo""foo",baka と出力される
124 名前:デフォルトの名無しさん [2018/09/17(月) 00:42:08.45 ID:dj7qSZnZ.net] こんな内容の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じゃない
125 名前:デフォルトの名無しさん [2018/09/17(月) 00:44:37.73 ID:27GPeyCI.net] >>120 エクセルの動作の話をしておられるわけですね それについては異論はないっす 一般的なCSVの仕様として"を\でエスケープすることも あるよねってことです RFCは後付ですし
126 名前:デフォルトの名無しさん [2018/09/17(月) 00:48:00.11 ID:dj7qSZnZ.net] 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では読み込めない コレはもう業界ではペケなワケ もうデファクトスタンダードなワケ それが分からないから 低学歴知恵遅れなワケ
127 名前:デフォルトの名無しさん [2018/09/17(月) 00:55:43.10 ID:27GPeyCI.net] >>122 RFCができる前からCSVは存在してるよ RFCとは違う仕様も存在するんよ デファクトスタンダードはそれはそうだと思いますよ 規格として標準なわけではなく事実上の標準だから "を\でエスケープするものがあってもおかしくないっすね
128 名前:デフォルトの名無しさん [2018/09/17(月) 00:56:49.34 ID:27GPeyCI.net] ""でエスケープしたらエクセルでインポートできるよってことを言いたいんですよね、わかりますよ
129 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 00:59:23.34 ID:TeavGsnR.net] フォーマット微妙に変なのをExcelにインポートしたいってとこから話始まってるし いくら世界がそうあるべきだと言ったって 現におかしなフォーマットのcsvが目の前にあったらどうにかしないといけない 半角君はどうするんだろう
130 名前:デフォルトの名無しさん [2018/09/17(月) 01:04:33.71 ID:dj7qSZnZ.net] >>87 のケースである場合、 どうしてもエクセルにインポートしてほしいという依頼がきたら サクラエディタつかって正規表現使って最初のカンマの部分をタブに置換してコピペする ファイルがクソでかいばあい、sedで正規表現使って最初のカンマの部分をタブに置換する
131 名前:デフォルトの名無しさん [2018/09/17(月) 01:08:02.43 ID:27GPeyCI.net] サクラエディタもsedも使えない状況なら半角さんどうするんですか?
132 名前:デフォルトの名無しさん [2018/09/17(月) 01:09:43.54 ID:dj7qSZnZ.net] wshでjavascript使って編集する
133 名前:デフォルトの名無しさん [2018/09/17(月) 01:10:23.76 ID:dj7qSZnZ.net] sedが使えない = unixクローンは使えない ということになるからな
134 名前:デフォルトの名無しさん [2018/09/17(月) 01:11:33.13 ID:27GPeyCI.net] JScriptですか渋いっすね
135 名前:デフォルトの名無しさん [2018/09/17(月) 01:31:17.15 ID:dj7qSZnZ.net] wshならどんな古いくさった端末でも入ってるからな 個人情報の問題で、データを格納できる計算機が制限される、アタリマエだが
136 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 02:09:43.67 ID:+O
] [ここ壊れてます]
137 名前:wpPL9I.net mailto: >>120 実際に出てきたcsvでやるしか無いんだから出来ない言い訳並べてもしょうがないでしょ [] [ここ壊れてます]
138 名前:デフォルトの名無しさん [2018/09/17(月) 02:40:44.60 ID:DOsrYmK4.net] ある都合でVBAでプログラミングを学びたいんですが、おすすめの参考書やサイトありますか?
139 名前:デフォルトの名無しさん [2018/09/17(月) 03:00:28.28 ID:dj7qSZnZ.net] できない言い訳なんか書いてないからな それはcsvじゃないといってるワケ 低学歴知恵遅れの世界で呼称されてるcsvは 低学歴知恵遅れの世界のcsv()といってるワケ わかった?
140 名前:デフォルトの名無しさん [2018/09/17(月) 03:01:56.29 ID:dj7qSZnZ.net] ホントな低学歴知恵遅れは 低学歴知恵遅れのマイルールを押し付けようとするから困るワケ
141 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 03:29:18.86 ID:KiXF7SKJ.net] >>133 >VBAでプログラミングを学びたい VBA「の」じゃなくてVBA「で」? 学びたいのはプログラミング自体? それならVBAはGUIがついてて便利なので入門用言語には良いが 最終的にはVBA以外のプログラミング言語も習得した方が良い というのはあくまでVBAのベースはBASICなので VBAプロパーだとプログラミングの筋が悪くなる >おすすめの参考書やサイト まずは大きな書店に行って PC関係の売り場で中身をパラパラめくって 分かりやすそうな入門書を一冊買って読もう もちろん「VBA」で検索して出てきたサイトを見れば 金は掛からないが説明が微妙なところもあり不安が残る
142 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 03:42:24.53 ID:O0m9WfJA.net] CSV, TSV の仕様 delimiter : フィールド区切り。カンマ・タブが多い quotechar : フィールドを囲む文字。" が多い escapechar : フィールド内に、quotechar を含む場合に、その前に付けるエスケープ文字。 \ か、" が多い。 a\"b → "a\"b" a""b → "a""b"
143 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 07:53:46.06 ID:u5HISWee.net] そんな50レスも引き延ばすようなネタか?(呆
144 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 08:33:44.47 ID:KWfY0Z4o.net] VBAスレならこれぐらいの話題がちょいどいいレベルでしょう
145 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 08:38:11.40 ID:SBpxj18K.net] 久々に食い付けるネタだったんだろ w
146 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 08:59:01.79 ID:x2+cUCF9.net] あるファイルを修正する前に、そのファイルを_bak.csvみたいに同じディレクトリにバックアップしたいんだけど、vbaからだとどうすればいい? filesystemobjectとか使うの?
147 名前:デフォルトの名無しさん [2018/09/17(月) 09:02:08.97 ID:dEktkUWz.net] >>135 別にマイルール押しつけてるつもりはないよ。俺はプログラミング歴本当浅いし。 間違ってれば指摘して訂正すればいいだけの話じゃない? それはさておき、なんだかんだで、答えてくれてるので、回答どうもw
148 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 09:40:45.98 ID:u5HISWee.net] >>141 Private Sub Workbook_BeforeSave() のサブプロシージャで適当に。バックアップ世代管理をどこまでやるかで変わるが簡単にやるならSaveCopyAsでいい。
149 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 09:45:04.21 ID:x2+cUCF9.net] >>143 そのもののイベントがあるのね ありがとう
150 名前:デフォルトの名無しさん [2018/09/17(月) 15:03:24.49 ID:Z7EfKxAW.net] >>136 ありがとうごじゃります おっしゃるとおりで! 古本屋には無かったのでネットでサンプルでも見ながら探します!
151 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 19:47:37.68 ID:3YPJfo/c.net] どんなCSVでもテキスト処理すれば良いだろ。 Excelで開いて崩れるならそれは無理すじというもの。 見えるデリミタが既に嫌なので、見えない文字をデリミタに使ってCSVもどきとかにしてたこととかあったな。
152 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 20:21:50.63 ID:u5HISWee.net] まだ引っ張るのかw
153 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 20:25:15.40 ID:pGKPj11G.net] あんまり同じ話ばかりしてるとまた
154 名前:半角先生に低学歴知恵遅れって言われるぞ [] [ここ壊れてます]
155 名前:デフォルトの名無しさん [2018/09/17(月) 21:34:58.01 ID:8X2LVp/6.net] 「関数を使うかVBAを使うか」なんて文章を見てもにょらないのか?
156 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 21:48:19.81 ID:3YPJfo/c.net] 普通に一般的じゃないCSVなんてごまんとあるだろ。 3270が吐き出したCSV(といっても結局プログラムが吐き出してるわけだけど)とか、固定長CSVとか。 カンマ区切り以外は何でもアリと考えるべき。 どうせ、どんな仕様でも対応できるだろ。 大した話じゃない。 基本的な話だがCSV開く時はOpenTextって話がまだ無いようだが、それでダメなら自前でどうとてもするだろ。
157 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 21:50:33.98 ID:3YPJfo/c.net] >>141 開く前にファイルコピーでも何でも良いじゃん。
158 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 22:29:17.24 ID:nCCekO+f.net] https://qiita.com/areanoblog/items/095abe477fd04bbfc7c4 VBAからpowershell呼び出すのって↑こんなまわりくどいの? powerhellの実行結果を一旦テキストファイルとかに出してそれをまたVBAで読み込むとか? めんどくさ…('A`)
159 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 22:31:24.18 ID:w2PHbw/n.net] 固定長CSVとか言うパワーワード
160 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 22:52:13.82 ID:nnZrg0Mh.net] 固定長CSV笑った でも世の中には実在するんだろうな
161 名前:デフォルトの名無しさん [2018/09/17(月) 22:57:01.63 ID:AYOVQ736.net] なになに?またプロさん知ったかぶりしとんの?
162 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 23:15:23.57 ID:pGKPj11G.net] >>152 こんなことやるならPS側で処理した方が絶対良いよな PSから直接Excel触れるんだから
163 名前:デフォルトの名無しさん mailto:sage [2018/09/17(月) 23:30:51.51 ID:O0m9WfJA.net] Office は高い Ruby で、VSCode の拡張機能の、Excel Viewer で十分
164 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 02:54:36.14 ID:ziBnUm70.net] >>157 働いたこともないニートだったか
165 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 04:01:32.86 ID:e8HHTJEv.net] >>152 >>156 オレもPS側から処理する方が基本的に筋が良いと思う PSの方が汎用的で記述性が高いから
166 名前:デフォルトの名無しさん [2018/09/18(火) 05:54:19.55 ID:QjGqbTDe.net] PSキチガイ、Rubyキチガイが登場したから、後はC#キチガイが出てくればいつもの通りの流れ
167 名前:デフォルトの名無しさん [2018/09/18(火) 05:56:46.48 ID:KvvcKQiM.net] まだマッチポンプやってるんかお前?
168 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 06:07:52.72 ID:RfbXDeCO.net] 俺はC#の役も出来るから必要なら呼んでくれ
169 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 07:32:33.78 ID:cnS9oStk.net] 表形式もWPFのほうが安全で楽で表現力高いと気付いてから俺の中でVBAの出番は完全になくなった VBAの使い道を必死で探してるが見つからない
170 名前:デフォルトの名無しさん mailto:sage [2018/09/18(火) 08:05:31.56 ID:RfbXDeCO.net] WPFはデータとプログラムソースを完全分離出来るからな VSさえ自由に使えるなら安全で良い