[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 03/22 05:48 / Filesize : 289 KB / Number-of Response : 1047
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part57



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さえ自由に使えるなら安全で良い






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<289KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef