!extend:checked:vvvvv:1000:512
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part63
https://mevius.5ch.net/test/read.cgi/tech/1568630099/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part64
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 23d0-o7DB)
2019/12/02(月) 23:43:54.18ID:ngrqyTy20143デフォルトの名無しさん (ワッチョイ 4e33-zjWo)
2019/12/16(月) 21:44:36.78ID:UUZzkS6j0 よかったな天才に教えて貰えるぞ
144デフォルトの名無しさん (ワッチョイ a702-G5xG)
2019/12/16(月) 21:59:33.00ID:UZ2w46Iu0145デフォルトの名無しさん (アウアウウー Sa3b-pTYq)
2019/12/16(月) 23:05:55.21ID:ArNGhSEVa その図面データに営利目的で使用してはいけないって書いてないか?
146デフォルトの名無しさん (アウアウウー Sa3b-G5xG)
2019/12/16(月) 23:19:30.71ID:zUbFdDFya 社内の人が作ってる図面なんだが
147デフォルトの名無しさん (ワッチョイ a3da-pTYq)
2019/12/17(火) 01:41:33.76ID:fNjlS94d0 だったら保存形式かえてもらえばすむやん
148デフォルトの名無しさん (ワッチョイ e72f-3siJ)
2019/12/17(火) 02:29:00.49ID:7tj6sNHj0 CADファイルならVISIOで開けるじゃね
VISIOにVBA載ってなかったか
VISIOにVBA載ってなかったか
149デフォルトの名無しさん (ワッチョイ a201-VrMI)
2019/12/17(火) 02:51:35.82ID:Ef4LKPDY0 DWGもCOM経由でExcelから扱える
150デフォルトの名無しさん (アウアウウー Sa3b-B/vL)
2019/12/17(火) 08:50:39.06ID:7E3y3B+ga Excelで作成したものをフリーOfficeのCalcで開こうとするとエラーが出るので、違うPCのExcelにコードを写したいのですが、どうすれば良いでしょうか?
sheetは5枚でそれぞれデータが入力されています。
そのシートをコピーしてマクロコードをコピペすればできるのでしょうか?
コピーはできても貼り付ける場所が分かりません。教えてください。
sheetは5枚でそれぞれデータが入力されています。
そのシートをコピーしてマクロコードをコピペすればできるのでしょうか?
コピーはできても貼り付ける場所が分かりません。教えてください。
151デフォルトの名無しさん (ワッチョイ 6242-Zk2E)
2019/12/17(火) 09:41:37.65ID:vQ+5LFSo0 マクロは互換性ほぼ無いからなあ
152デフォルトの名無しさん (ワッチョイ 9f91-jCac)
2019/12/17(火) 15:37:53.37ID:/A3hSSic0 >>150
よく分からん。
ファイルをコピーしてそのファイルをそのまま使えば良いんじゃね?
要はさ、そのマクロのコ―ドがExcelの何を使っているかで変わるだろ。
コードを追って必要なものをコピーすれば使えるだろうよ。
よく分からん。
ファイルをコピーしてそのファイルをそのまま使えば良いんじゃね?
要はさ、そのマクロのコ―ドがExcelの何を使っているかで変わるだろ。
コードを追って必要なものをコピーすれば使えるだろうよ。
153デフォルトの名無しさん (アウアウウー Sa3b-pTYq)
2019/12/17(火) 20:23:29.92ID:3Fa5Zu3xa 慣れてる人ならできるかもしれんが
初心者じゃ無理だろ、互換性ないし
初心者じゃ無理だろ、互換性ないし
154デフォルトの名無しさん (ワッチョイ 4e68-xO71)
2019/12/17(火) 20:37:54.29ID:WWM9H/Hw0 OOoのVBAは相当単純なものじゃないと動かなかったような
色々省略するのもダメだったような気がする
色々省略するのもダメだったような気がする
155デフォルトの名無しさん (ワッチョイ c275-GBjH)
2019/12/17(火) 20:55:11.10ID:BpmC86c/0 OOOBasicなんてあるんだな
勉強する人いるの?
勉強する人いるの?
156デフォルトの名無しさん (ワッチョイ 4e68-xO71)
2019/12/17(火) 21:06:28.96ID:WWM9H/Hw0 OOOBasicというのか・・・
数年前きまぐれにちょっと触って、あまりの互換性のなさに逃げ出したわ
数年前きまぐれにちょっと触って、あまりの互換性のなさに逃げ出したわ
157デフォルトの名無しさん (ワッチョイ 1b8e-RPlZ)
2019/12/17(火) 23:47:48.67ID:eRzCNyCK0 >>150
馬鹿は死ね
馬鹿は死ね
158デフォルトの名無しさん (ワッチョイ 5f01-uKDx)
2019/12/18(水) 02:07:35.42ID:ksLRDXXy0 なんでBasicにしたんだろね。
後発なんだから選べたはずなのに。
後発なんだから選べたはずなのに。
159デフォルトの名無しさん (ワッチョイ a3da-xO71)
2019/12/18(水) 02:16:13.86ID:mwLPhsOw0 Cに似せるほうが大変だろう
160デフォルトの名無しさん (ワッチョイ 4e68-xO71)
2019/12/18(水) 07:45:18.46ID:enbCu13E0161デフォルトの名無しさん (ワッチョイ c275-GBjH)
2019/12/18(水) 07:46:31.18ID:5n7ujQMK0 oooの話だろ
162デフォルトの名無しさん (アウアウウー Sa3b-B/vL)
2019/12/18(水) 08:15:59.63ID:Bw/0QRZma >>152
PC1のデータをPC2に移したい。でも、PC2にUSBなど外部のものを差し込めないしネットには繋がるけど仮想?か分からないけどデータをPC2のデスクトップとかドキュメントに保存できないので、
データの中身をコピーしてPC2でExcelを開きペーストすれば良いのではと考えたのですが、
Excelのデータを丸々コピーするにはまずシートをコピペしてその後マクロコードをコピペすれば良いのでしょうか?どこに貼り付ければ良いのかわかりません。
PC1のデータをPC2に移したい。でも、PC2にUSBなど外部のものを差し込めないしネットには繋がるけど仮想?か分からないけどデータをPC2のデスクトップとかドキュメントに保存できないので、
データの中身をコピーしてPC2でExcelを開きペーストすれば良いのではと考えたのですが、
Excelのデータを丸々コピーするにはまずシートをコピペしてその後マクロコードをコピペすれば良いのでしょうか?どこに貼り付ければ良いのかわかりません。
163デフォルトの名無しさん (ワッチョイ 0e2b-6dnz)
2019/12/18(水) 14:12:35.99ID:HS0oeyOA0 PC2のどこに移したいの?
PC2でデータを開き データの中身をコピーして Excel(新規ブック)を開きペーストすれば良い
でもその新規ブックは保存できないんでしょ?
PC2でデータを開き データの中身をコピーして Excel(新規ブック)を開きペーストすれば良い
でもその新規ブックは保存できないんでしょ?
164デフォルトの名無しさん (ワッチョイ a3da-pTYq)
2019/12/18(水) 14:53:42.73ID:mwLPhsOw0 会社のPCなら上司にまず先に相談しろ
165デフォルトの名無しさん (アウアウウー Sa3b-B/vL)
2019/12/18(水) 15:30:08.92ID:Bw/0QRZma >>163
PC2のデスクトップ
Excelを新規で開けば保存できる。
もしくは開きたいExcelのデータCalcでなら開ける。
Calcで開いてコピーしたものをExcelに貼り付けたら出来るのか?セル全範囲コピーして貼り付けてマクロコードもコピーして。
PC2のデスクトップ
Excelを新規で開けば保存できる。
もしくは開きたいExcelのデータCalcでなら開ける。
Calcで開いてコピーしたものをExcelに貼り付けたら出来るのか?セル全範囲コピーして貼り付けてマクロコードもコピーして。
166デフォルトの名無しさん (ワッチョイ 1b8e-RPlZ)
2019/12/18(水) 16:28:12.29ID:cW21FM1r0 >>162
馬鹿は死ね
馬鹿は死ね
167デフォルトの名無しさん (アウアウウー Sa3b-pTYq)
2019/12/18(水) 18:12:16.35ID:2hbVJNuaa シートの書式がコピーできるかな?
168デフォルトの名無しさん (アウアウウー Sa3b-pTYq)
2019/12/18(水) 18:12:36.66ID:2hbVJNuaa セルね
169デフォルトの名無しさん (ワッチョイ e793-goRK)
2019/12/18(水) 18:28:12.80ID:jQts0Cg90 >>167
死ね
死ね
170デフォルトの名無しさん (ブーイモ MM02-Cxlv)
2019/12/18(水) 20:40:24.52ID:eYqAoNFQM Officeクリップボードをクリアするにはどうしたらよいですか?
171デフォルトの名無しさん (ワッチョイ 4e68-xO71)
2019/12/18(水) 21:42:34.31ID:enbCu13E0 >>161
ちゅまん
ちゅまん
172デフォルトの名無しさん (アークセー Sxdf-kCbJ)
2019/12/18(水) 22:44:40.50ID:ycaRvEPMx >>171
かわいい
かわいい
173デフォルトの名無しさん (ワッチョイ e279-40qP)
2019/12/18(水) 23:33:23.01ID:kDyrT7eN0 >>170
その文言でぐぐれ
その文言でぐぐれ
174デフォルトの名無しさん (ワッチョイ f71f-DXsO)
2019/12/19(木) 17:59:43.75ID:OOaAV86L0 ちょっと教えて下さい
自動的に新しいcsvファイルが保存されてくるフォルダがあって
新しいファイルが保存されたら処理をするってコードを作りたいんですが
どんな感じにしたらよいのかアイデアが浮かびません
イメージは処理開始としてから処理停止とするまでずっと監視と処理をし続ける感じです
正攻法ってどんな感じでしょう?
自動的に新しいcsvファイルが保存されてくるフォルダがあって
新しいファイルが保存されたら処理をするってコードを作りたいんですが
どんな感じにしたらよいのかアイデアが浮かびません
イメージは処理開始としてから処理停止とするまでずっと監視と処理をし続ける感じです
正攻法ってどんな感じでしょう?
175デフォルトの名無しさん (オッペケ Srcb-KMkw)
2019/12/19(木) 18:07:29.48ID:FlPgbXc+r 定期的にフォルダの更新日時かファイル数を比較
176デフォルトの名無しさん (ミカカウィ FFfb-On3P)
2019/12/19(木) 19:15:47.42ID:PZllcG7iF C#に乗り換えてFileSystemWatcherかな
そういうのはサービスにして常時起動したいだろ?どのみちVBAじゃ無理がある
そういうのはサービスにして常時起動したいだろ?どのみちVBAじゃ無理がある
177デフォルトの名無しさん (ワッチョイ 5701-CZMl)
2019/12/19(木) 20:13:02.64ID:r3z4nZn+0 >>174
csvデータは一般機能のpower queryで「フォルダ指定」で取得してから、何らかの加工をする必要があればVBAでやるというのはどうでしょう?
csvデータは一般機能のpower queryで「フォルダ指定」で取得してから、何らかの加工をする必要があればVBAでやるというのはどうでしょう?
178デフォルトの名無しさん (ワッチョイ f7ca-+Tiu)
2019/12/19(木) 20:52:54.37ID:Uvgz+C1W0 >>174
Application.OnTimeでググればいろいろ出てくる
Excel/VBA: 特定のフォルダ内のファイルの更新状況を監視するマクロ
http://pineplanter.moo.jp/non-it-salaryman/2016/12/30/excel-vba-folder-monitor/
Application.OnTimeでググればいろいろ出てくる
Excel/VBA: 特定のフォルダ内のファイルの更新状況を監視するマクロ
http://pineplanter.moo.jp/non-it-salaryman/2016/12/30/excel-vba-folder-monitor/
179174 (ワッチョイ f71f-M3rQ)
2019/12/19(木) 21:50:34.66ID:OOaAV86L0180デフォルトの名無しさん (ワッチョイ b7da-6AKx)
2019/12/19(木) 22:24:23.56ID:O8pz/cv40 >>179
悪用すると色々できそうだな
悪用すると色々できそうだな
181デフォルトの名無しさん (ワッチョイ 9f2c-1ZZR)
2019/12/20(金) 10:20:51.92ID:A+TGdcd90 ファイルのタイムスタンプで判断すれば?
182デフォルトの名無しさん (ワッチョイ 9f2c-1ZZR)
2019/12/20(金) 11:57:58.87ID:A+TGdcd90 Ruby で、ファイルの最終更新時刻を取得する
fs = File::Stat.new( "./a.txt" )
p fs.mtime #=> 2018-01-16 13:36:40 +0900 最終更新時刻
p current = Time.now #=> 2019-12-20 11:54:02 +0900
p current - fs.mtime, fs.mtime - current
#=> 60733042.351125, -60733042.351125
fs = File::Stat.new( "./a.txt" )
p fs.mtime #=> 2018-01-16 13:36:40 +0900 最終更新時刻
p current = Time.now #=> 2019-12-20 11:54:02 +0900
p current - fs.mtime, fs.mtime - current
#=> 60733042.351125, -60733042.351125
183デフォルトの名無しさん (ワッチョイ 9fea-mb36)
2019/12/20(金) 15:07:41.92ID:INeYifjy0 >>179
ファイルのアーカイヴ属性を変更すればいいよ。これなら新規以外にも、変更ファイルも拾えるはず。
ファイルのアーカイヴ属性を変更すればいいよ。これなら新規以外にも、変更ファイルも拾えるはず。
184デフォルトの名無しさん (ワッチョイ f78e-H4w9)
2019/12/20(金) 15:08:25.80ID:CBAVBsMi0 馬鹿ばっか
185デフォルトの名無しさん (ブーイモ MMfb-BnkS)
2019/12/20(金) 15:24:50.75ID:CkbICV7EM ハゲばっか
186デフォルトの名無しさん (ワッチョイ b7da-prDO)
2019/12/20(金) 20:34:34.24ID:UWWbjOVR0 馴鹿ばっか
187デフォルトの名無しさん (オッペケ Srcb-KMkw)
2019/12/21(土) 11:10:49.09ID:lLQbKr+9r クリスマスだから
188デフォルトの名無しさん (ワッチョイ d75f-+Tiu)
2019/12/21(土) 19:08:13.95ID:reWWVMAr0 セルに指定したフォントの情報などを変数(オブジェクト?)として
保持して、別のセルに貼り付けることはできないでしょうか
Public Sub textMacro()
ActiveSheet.Cells(1, 1).Select
ActiveCell.Value = "testTESTtest"
ActiveCell.Characters(Start:=5, Length:=4).Font.ColorIndex = 3
End Sub
こんな感じで、文字列の途中で色を変えたりフォントを変えたり
した情報を構造体配列として保持しておいて、ソートしたり
特定条件で抽出したりしたデータを、書式ごと別のセルに
貼り付けたいのです
上記のようなコードで一旦別のワークシートに書き込んでやって、
そこを参照してコピーすれば解決します
ですが作業用ワークシートを作るのが美しくないので、なにか
方法がないものかと悩んでいます
保持して、別のセルに貼り付けることはできないでしょうか
Public Sub textMacro()
ActiveSheet.Cells(1, 1).Select
ActiveCell.Value = "testTESTtest"
ActiveCell.Characters(Start:=5, Length:=4).Font.ColorIndex = 3
End Sub
こんな感じで、文字列の途中で色を変えたりフォントを変えたり
した情報を構造体配列として保持しておいて、ソートしたり
特定条件で抽出したりしたデータを、書式ごと別のセルに
貼り付けたいのです
上記のようなコードで一旦別のワークシートに書き込んでやって、
そこを参照してコピーすれば解決します
ですが作業用ワークシートを作るのが美しくないので、なにか
方法がないものかと悩んでいます
189デフォルトの名無しさん (ワッチョイ f77c-Mpc3)
2019/12/21(土) 19:30:42.69ID:EDn7hR2k0 >>188
rangeにでも入れとけばいいんじゃないの
rangeにでも入れとけばいいんじゃないの
190デフォルトの名無しさん (ワッチョイ d75f-+Tiu)
2019/12/21(土) 19:57:20.88ID:reWWVMAr0191デフォルトの名無しさん (ワッチョイ b7da-r9Jq)
2019/12/21(土) 20:19:43.43ID:Z2fXXpuT0 アドバンスフィルタ使うとか。
192デフォルトの名無しさん (ワッチョイ 5701-EwPn)
2019/12/21(土) 21:42:26.79ID:u7lOGHHR0 >>188
activecellは rangeオブジェクト
rangeオブジェクトは必ずどこかの実態セルに紐付けしないと設定、参照できない
なので、実態セルを使いたくなければ、仮想的に実装するしかない
全てを網羅するには、それは非現実的(ムダ)だから私ならやらない
あとの判断はお任せする
(may be. GL)
activecellは rangeオブジェクト
rangeオブジェクトは必ずどこかの実態セルに紐付けしないと設定、参照できない
なので、実態セルを使いたくなければ、仮想的に実装するしかない
全てを網羅するには、それは非現実的(ムダ)だから私ならやらない
あとの判断はお任せする
(may be. GL)
193デフォルトの名無しさん (ワッチョイ 5701-fd2f)
2019/12/21(土) 21:50:56.66ID:vmSiEfoS0 ここには北海道のグラサンのスーパーハゲザーこないのー?
194デフォルトの名無しさん (アークセー Sxcb-KMkw)
2019/12/21(土) 22:03:15.47ID:xOT/WAE8x >>190
セルのコピーで済む処理をわざわざスクラッチする意味があるのか?
マクロ言語で車輪の再発明をするのは無駄だし結果的に美しくないものが出来上がって終わりなことが多いぞ
まぁ文字列書式の取得をするならRange.Charactersクラスを対象にForで一文字ずつループを回して、Fontプロパティで取れる各フォント属性を調べて構造体配列に格納していけば良い
Characters(i, 1)とか指定すれば一文字ずつ調べられる
具体的にはFontクラスのうち
Bold, ColorまたはColorIndex, FontStyle, Italic, Name, Size, ThemeColor, ThemeFont, Underlineあたりを取得しとけば何とかなるんじゃないか
セルのコピーで済む処理をわざわざスクラッチする意味があるのか?
マクロ言語で車輪の再発明をするのは無駄だし結果的に美しくないものが出来上がって終わりなことが多いぞ
まぁ文字列書式の取得をするならRange.Charactersクラスを対象にForで一文字ずつループを回して、Fontプロパティで取れる各フォント属性を調べて構造体配列に格納していけば良い
Characters(i, 1)とか指定すれば一文字ずつ調べられる
具体的にはFontクラスのうち
Bold, ColorまたはColorIndex, FontStyle, Italic, Name, Size, ThemeColor, ThemeFont, Underlineあたりを取得しとけば何とかなるんじゃないか
195デフォルトの名無しさん (ワッチョイ d75f-+Tiu)
2019/12/21(土) 22:26:10.14ID:reWWVMAr0 >>192
>>194
内部データとして、特定の文字だけボールドにしたり赤字にしたりしたデータを
保持しておいて、それをそのままセルに貼れないだろうかという趣旨でした
全然実用性のない例ですが、何らかの名簿データを元データとして入力すると
して、「佐藤」という名字だけを赤で表示したい、というケースがあったとします。
このとき、表示するときに年齢別だったり性別だったりの条件で抽出したりする
際に、毎回セルにデータを書き込むときにフォントの設定をする必要があるのか、
一度設定済みのデータを貼れば済むような方法があるのか、という質問でした
現在は毎回貼るたびにフォントの設定をしているので、もっと効率的な方法が
あるのではないかと考えた次第
でも残念ながら、どうやらなさそうですね
確かにセルをコピーすれば済む話なので、断念します
>>194
内部データとして、特定の文字だけボールドにしたり赤字にしたりしたデータを
保持しておいて、それをそのままセルに貼れないだろうかという趣旨でした
全然実用性のない例ですが、何らかの名簿データを元データとして入力すると
して、「佐藤」という名字だけを赤で表示したい、というケースがあったとします。
このとき、表示するときに年齢別だったり性別だったりの条件で抽出したりする
際に、毎回セルにデータを書き込むときにフォントの設定をする必要があるのか、
一度設定済みのデータを貼れば済むような方法があるのか、という質問でした
現在は毎回貼るたびにフォントの設定をしているので、もっと効率的な方法が
あるのではないかと考えた次第
でも残念ながら、どうやらなさそうですね
確かにセルをコピーすれば済む話なので、断念します
196デフォルトの名無しさん (ワッチョイ 5701-EwPn)
2019/12/21(土) 23:09:32.16ID:u7lOGHHR0 >>195
鈴木 健二
の鈴木だけを赤文字に設定したセルの書式コピーして
鈴木 太郎
セルに貼り付けしても、鈴木だけを赤にはできなかった
(バージョンによって違うかもだが)
ロジックでやるしかないんじゃないかな
鈴木or宇都宮を赤にするとか
鈴木 健二
の鈴木だけを赤文字に設定したセルの書式コピーして
鈴木 太郎
セルに貼り付けしても、鈴木だけを赤にはできなかった
(バージョンによって違うかもだが)
ロジックでやるしかないんじゃないかな
鈴木or宇都宮を赤にするとか
197デフォルトの名無しさん (ワッチョイ d75f-+Tiu)
2019/12/21(土) 23:41:09.25ID:reWWVMAr0 >>196
色々ありがとうございます
今回やりたいのは、鈴木だけを赤くした「鈴木 健二」というセルを作るのに、
事前にデータを作ってからセルに貼り付けたいということですから、
「鈴木 太郎」の「鈴木」が赤くならなくても特に問題ありません
この例で言うなら、コピペ以外の方法で、同じく鈴木だけが赤くなった鈴木健二の
セルを効率よく作りたい、ということですね
色々ありがとうございます
今回やりたいのは、鈴木だけを赤くした「鈴木 健二」というセルを作るのに、
事前にデータを作ってからセルに貼り付けたいということですから、
「鈴木 太郎」の「鈴木」が赤くならなくても特に問題ありません
この例で言うなら、コピペ以外の方法で、同じく鈴木だけが赤くなった鈴木健二の
セルを効率よく作りたい、ということですね
198デフォルトの名無しさん (アークセー Sxcb-KMkw)
2019/12/22(日) 00:19:45.02ID:4IcKy9Blx >>197
構造体とかでパラメータ設定すればやれないことはない
書式設定対象の文字列の開始オフセット位置と文字列長、フォント属性の設定値からなる構造体配列を作って、一括でRangeオブジェクトのプロパティに代入すれば良い
ただしパラメータを動的に指定する処理やらUIやらを構築する手間とか考えたら結局セルコピーでよくねってなる
構造体とかでパラメータ設定すればやれないことはない
書式設定対象の文字列の開始オフセット位置と文字列長、フォント属性の設定値からなる構造体配列を作って、一括でRangeオブジェクトのプロパティに代入すれば良い
ただしパラメータを動的に指定する処理やらUIやらを構築する手間とか考えたら結局セルコピーでよくねってなる
199デフォルトの名無しさん (ブーイモ MMbf-AIRZ)
2019/12/22(日) 09:13:02.87ID:m/MVfWr2M office2010から2016へ変えたらマクロの遅さが気になって
セルコピーを別の方法でやれないか考えてる
セルコピーを別の方法でやれないか考えてる
200デフォルトの名無しさん (ワッチョイ 9f59-Lpm9)
2019/12/22(日) 10:54:11.14ID:sgFeqmUl0 マクロが遅いんじゃなくてPCのスペックが貧弱過ぎるんじゃないか
201デフォルトの名無しさん (ワッチョイ d75f-+Tiu)
2019/12/22(日) 11:54:58.14ID:M+v9sXGU0202デフォルトの名無しさん (ワッチョイ b7da-r9Jq)
2019/12/22(日) 12:26:41.63ID:cYIprE7S0203デフォルトの名無しさん (アークセー Sxcb-KMkw)
2019/12/22(日) 14:42:00.45ID:qo1j1gBdx >>201
そこまでやるならmhtか何かでコード生成してからxls変換してレンダリングする方がいいよねって話になってしまうからな
そこまでやるならmhtか何かでコード生成してからxls変換してレンダリングする方がいいよねって話になってしまうからな
204デフォルトの名無しさん (ワッチョイ ce75-RbSw)
2019/12/27(金) 23:18:51.19ID:89CBNjra0 んあ
205デフォルトの名無しさん (ワッチョイ 0101-Nxir)
2019/12/27(金) 23:55:11.89ID:kLvnMS830 北海道のグラサンスーパーハゲザーはここにはこないのー?
206デフォルトの名無しさん (ワッチョイ d4da-K0SF)
2019/12/28(土) 10:04:17.04ID:Ht/sR5FE0 北海道にいるんだろ
207デフォルトの名無しさん (ワッチョイ 0101-Nxir)
2019/12/28(土) 11:09:10.42ID:iMlStgtR0 あなたのハゲにサクセスしたい
208デフォルトの名無しさん (アウアウウー Saab-WVy2)
2019/12/28(土) 17:00:07.97ID:SHykekh8a 休みに入って大人しくなったな
209デフォルトの名無しさん (ワッチョイ 067d-K+LJ)
2020/01/01(水) 22:49:57.07ID:/3koq0Lq0 フォルダ名を取得し名前を変える処理をしたいのですが、フォルダ名の頭に0がついているとセルに取り込んだ際、数値扱いされきえてしまいます。何かいい方法ないでしょうか?
ほぼネットから引用したものですが。。
Sub folder()
Dim folderPath As String
folderPath = Sheets(2).[B1]
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim n As Variant
n = fso.GetFolder(folderPath).SubFolders.Count
If (0 < n) Then
Dim I As Long
I = 1
Dim f As Object
For Each f In fso.GetFolder(folderPath).SubFolders
Cells(3 + I,1).Value=Str(f.Name)
I = I + 1
Next f
End If
End Sub
ほぼネットから引用したものですが。。
Sub folder()
Dim folderPath As String
folderPath = Sheets(2).[B1]
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim n As Variant
n = fso.GetFolder(folderPath).SubFolders.Count
If (0 < n) Then
Dim I As Long
I = 1
Dim f As Object
For Each f In fso.GetFolder(folderPath).SubFolders
Cells(3 + I,1).Value=Str(f.Name)
I = I + 1
Next f
End If
End Sub
210デフォルトの名無しさん (ワッチョイ c268-UAPS)
2020/01/01(水) 22:54:36.69ID:Oh0xulqx0211デフォルトの名無しさん (ワッチョイ 067d-K+LJ)
2020/01/01(水) 23:43:11.75ID:/3koq0Lq0212デフォルトの名無しさん (ワッチョイ ad7c-bcBw)
2020/01/02(木) 00:01:52.13ID:KGMPhTA00213デフォルトの名無しさん (ワッチョイ c268-UAPS)
2020/01/02(木) 00:13:18.61ID:4cnj/64c0 VBAはそもそもビジュアルベーシックフォーアプリケーション
エクセル(他office製品)のための言語
Excelの範疇も何もないよ
エクセル(他office製品)のための言語
Excelの範疇も何もないよ
214デフォルトの名無しさん (アークセー Sxf1-uWm+)
2020/01/02(木) 00:44:32.37ID:C9nM6Ix2x セルにフォルダ名を入れなきゃならない理由が全く分からない
215デフォルトの名無しさん (ワッチョイ 4259-F9A1)
2020/01/02(木) 00:52:53.68ID:m04meMbs0 PowerQueryにデータの参照元渡すとか
216デフォルトの名無しさん (ワッチョイ 0610-mVj1)
2020/01/02(木) 11:28:52.88ID:yN8yk3jo0 マクロでCSV書き出ししたデータですが
どうも1行ごとに最後のセルの末尾に勝手に改行コードが入っているようです
これはなんとかならないでしょうか
その改行コードもCRLFで言うところのCRだけのようで、見かけ上全くわかりません
aaa,ddd,ccc
とあったら、cccの末尾に見えないCFが張り付いている感じです
urlエンコードで見ると ccc%0D みたいな感じです
どうしたら綺麗に書き出せますか?
どうも1行ごとに最後のセルの末尾に勝手に改行コードが入っているようです
これはなんとかならないでしょうか
その改行コードもCRLFで言うところのCRだけのようで、見かけ上全くわかりません
aaa,ddd,ccc
とあったら、cccの末尾に見えないCFが張り付いている感じです
urlエンコードで見ると ccc%0D みたいな感じです
どうしたら綺麗に書き出せますか?
217デフォルトの名無しさん (スプッッ Sd0a-UAPS)
2020/01/02(木) 12:02:15.68ID:33UW29zWd218デフォルトの名無しさん (ワッチョイ e5da-UAPS)
2020/01/02(木) 12:48:11.80ID:/IgTqK/90 セル内で改行しても平気か確認した方がいい
219デフォルトの名無しさん (ワッチョイ ad7c-bcBw)
2020/01/02(木) 12:53:49.13ID:KGMPhTA00220デフォルトの名無しさん (ワッチョイ ad7c-bcBw)
2020/01/02(木) 12:58:08.65ID:KGMPhTA00 あと勝手に入ってるのではなく元々のテキストファイルに入ってるんだろう
221デフォルトの名無しさん (ワッチョイ 0610-pIXJ)
2020/01/02(木) 15:17:06.96ID:yN8yk3jo0 216です
>>217
csvの中のデータとして配列に入っています。書き出したcsvは普通に数行のカンマ区切りです。
それをjavascriptで配列へ取り込みしたときに、
二次元配列データの一行の最後のデータの末尾に毎行追加されている感じです。
配列内
aaa,ddd,ccc%0D
aaa,ddd,ccc%0D
aaa,ddd,ccc%0D
csvとしての改行・配列構成は崩れていません。
ちなみに書き出しは
ActiveWorkbook.SaveAs Filename:=csvName, FileFormat:=xlCSV
です。win7時代に作ったマクロをwin10で使っていますが、それもあるんでしょうか…
>>219
EXCELの改行仕様は知りませんでした。ありがとうございます。
末尾に列を1つ増やしたら取りたいデータにはつかなくなったので
(おそらく、増やした列に%0Dが移動したのかとw)、
若干気持ち悪いですが、趣味プログラムなので運用で対応します。
みなさんありがとうございました。
>>217
csvの中のデータとして配列に入っています。書き出したcsvは普通に数行のカンマ区切りです。
それをjavascriptで配列へ取り込みしたときに、
二次元配列データの一行の最後のデータの末尾に毎行追加されている感じです。
配列内
aaa,ddd,ccc%0D
aaa,ddd,ccc%0D
aaa,ddd,ccc%0D
csvとしての改行・配列構成は崩れていません。
ちなみに書き出しは
ActiveWorkbook.SaveAs Filename:=csvName, FileFormat:=xlCSV
です。win7時代に作ったマクロをwin10で使っていますが、それもあるんでしょうか…
>>219
EXCELの改行仕様は知りませんでした。ありがとうございます。
末尾に列を1つ増やしたら取りたいデータにはつかなくなったので
(おそらく、増やした列に%0Dが移動したのかとw)、
若干気持ち悪いですが、趣味プログラムなので運用で対応します。
みなさんありがとうございました。
222デフォルトの名無しさん (ブーイモ MM85-19tT)
2020/01/02(木) 16:37:15.04ID:yYKIO5swM 北海道のグラサンスーパーハゲザーはここにはこないのー?
223デフォルトの名無しさん (ワッチョイ 2eda-UAPS)
2020/01/02(木) 17:52:03.38ID:YgEQc8yF0224デフォルトの名無しさん (ワッチョイ 422c-RM0q)
2020/01/02(木) 21:25:07.68ID:ShHqIFTQ0 一般論として例えば、Ruby のCSV の規格にも、
行区切り文字・列区切り文字・クォート文字などがある
特に設定しないデフォルトでは、それらは、
改行コード・カンマ・ダブルクォーテーションになる
もし、それらが無ければ、CSVの要件を満たさないw
つまり、CSVの規格ではありませんw
行区切り文字・列区切り文字・クォート文字などがある
特に設定しないデフォルトでは、それらは、
改行コード・カンマ・ダブルクォーテーションになる
もし、それらが無ければ、CSVの要件を満たさないw
つまり、CSVの規格ではありませんw
225デフォルトの名無しさん (アウアウウー Saa5-VrsN)
2020/01/02(木) 23:23:58.57ID:1vLrUBFwa ルビカスが何を言おうと、世の中ではExcelが出力するCSVが標準のCSVだ
226デフォルトの名無しさん (ワッチョイ 5991-8sDV)
2020/01/03(金) 10:32:03.45ID:R/lajPDg0 CSVは自前でテキストファイル読み込み+自前で区切り扱いが基本。
区切りが何であろうと、データの形式が何であろうと全て自分でコントロール出来るし速度も速い。
区切りが何であろうと、データの形式が何であろうと全て自分でコントロール出来るし速度も速い。
227デフォルトの名無しさん (ワッチョイ 49d0-Fu3+)
2020/01/03(金) 12:29:48.12ID:V2sewd5k0228デフォルトの名無しさん (ワッチョイ 4279-A9ky)
2020/01/03(金) 18:33:14.85ID:LoHkYQxe0 使い続ける以上CSVとの戦いは続くのだ
229デフォルトの名無しさん (アークセー Sxf1-uWm+)
2020/01/03(金) 18:50:10.73ID:k7eftYc7x モダンExcelが一般化してきた今ならクエリでCSVの開き方を指定して読み込むのがいいんじゃないの
CSVをエクセルで直接開くといろいろ勝手なことをしてくれるので
CSVをエクセルで直接開くといろいろ勝手なことをしてくれるので
230デフォルトの名無しさん (スフッ Sd62-F9A1)
2020/01/03(金) 19:06:41.78ID:esau8hBed PowerQueryのコードを書くのはVBA以上にハードルが高いぞ
231デフォルトの名無しさん (ブーイモ MMb6-OUNV)
2020/01/03(金) 19:55:22.39ID:3Uhjf7eSM PowerQueryコード書かなきゃいけないの?
GUIでできる範囲だと不十分なの?
GUIでできる範囲だと不十分なの?
232デフォルトの名無しさん (アークセー Sxf1-uWm+)
2020/01/03(金) 19:58:54.81ID:k7eftYc7x そんなにハードル高いか?
テキストファイルの読み込みの処理をスクラッチするより明らかに楽だし処理速度も速いと思うが
例えば4列のCSVをSJIS(Windows-J31)でデコードしてカンマ区切りで読み込んでSheet1のA1セルから書き出すとしたらこんな感じ
Sub ReadCSV()
With Worksheets("Sheet1")
With .QueryTables.Add(Connection:="TEXT;ソースファイルのパス", Destination:=.Range("A1"))
.TextFilePlatform = 932
.TextFileCommaDelimiter = True
.RefreshStyle = xlOverwriteCells
.TextFileColumnDataTypes = Array(xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat)
.Refresh
.Delete
End With
End With
End Sub
テキストファイルの読み込みの処理をスクラッチするより明らかに楽だし処理速度も速いと思うが
例えば4列のCSVをSJIS(Windows-J31)でデコードしてカンマ区切りで読み込んでSheet1のA1セルから書き出すとしたらこんな感じ
Sub ReadCSV()
With Worksheets("Sheet1")
With .QueryTables.Add(Connection:="TEXT;ソースファイルのパス", Destination:=.Range("A1"))
.TextFilePlatform = 932
.TextFileCommaDelimiter = True
.RefreshStyle = xlOverwriteCells
.TextFileColumnDataTypes = Array(xlTextFormat, xlTextFormat, xlTextFormat, xlTextFormat)
.Refresh
.Delete
End With
End With
End Sub
233デフォルトの名無しさん (アークセー Sxf1-uWm+)
2020/01/03(金) 20:07:37.72ID:k7eftYc7x PowerQueryだったらもっと簡単だろう
Csv.Documentにソースのパスとメタ情報を渡してテーブルを取得するだけだしGUIでステップ記録できる
Csv.Documentにソースのパスとメタ情報を渡してテーブルを取得するだけだしGUIでステップ記録できる
234デフォルトの名無しさん (ワッチョイ 4279-A9ky)
2020/01/03(金) 20:56:20.20ID:LoHkYQxe0 CSV読み込みの話してんのになんで書き込みの回答してんだろうこの子
235デフォルトの名無しさん (アークセー Sxf1-uWm+)
2020/01/03(金) 21:32:33.80ID:k7eftYc7x236デフォルトの名無しさん (アークセー Sxf1-uWm+)
2020/01/03(金) 22:10:30.43ID:k7eftYc7x237デフォルトの名無しさん (ワッチョイ 2eda-UAPS)
2020/01/03(金) 22:23:49.87ID:X7hap7HH0 >>230
全然。
基本的にはリボンの機能使った操作が1つずつのステップになっていく。
ステップの1つ1つがマクロみたいなもの。
「詳細クエリー」を見て初めて「コードはこうなってるんだ・・・」
という感じ。
もっとも、M Functionのレファレンスやパラメータあたり説明が
英語でもまだ不親切なので、
使えてない部分が多分にはあるけど。
ただ、VBAのように出来る範囲が広範囲なわけではなく、
取得したデータの成形に特化してる。
スクレイピングについては
Pythonみたいに取得対象のWeb画面で
IDやパスワード入力するとか、
ボタンを押すみたいなことも出来ない模様。
全然。
基本的にはリボンの機能使った操作が1つずつのステップになっていく。
ステップの1つ1つがマクロみたいなもの。
「詳細クエリー」を見て初めて「コードはこうなってるんだ・・・」
という感じ。
もっとも、M Functionのレファレンスやパラメータあたり説明が
英語でもまだ不親切なので、
使えてない部分が多分にはあるけど。
ただ、VBAのように出来る範囲が広範囲なわけではなく、
取得したデータの成形に特化してる。
スクレイピングについては
Pythonみたいに取得対象のWeb画面で
IDやパスワード入力するとか、
ボタンを押すみたいなことも出来ない模様。
238デフォルトの名無しさん (アークセー Sxf1-uWm+)
2020/01/03(金) 22:43:05.12ID:3zmXV6NNx データの成形に特化と言ってもVBAでスクラッチすると恐ろしく面倒なJoinとかのSQLチックな処理は全て実行できるので、データ処理の面ではVBAより手軽で便利
あとAccessDBやSQL ServerやOBDCはもちろん、ファイルシステムとかExchangeサーバとかSharePointリストとか、およそデータベースとして扱えるデータストアの情報は全て取得できる
フォルダ内のファイルの属性情報を取得する処理のためだけにいちいちFileSystemObjectのインスタンスとかを使ってスクラッチする必要がなくなると考えればめちゃくちゃ便利
あとAccessDBやSQL ServerやOBDCはもちろん、ファイルシステムとかExchangeサーバとかSharePointリストとか、およそデータベースとして扱えるデータストアの情報は全て取得できる
フォルダ内のファイルの属性情報を取得する処理のためだけにいちいちFileSystemObjectのインスタンスとかを使ってスクラッチする必要がなくなると考えればめちゃくちゃ便利
239デフォルトの名無しさん (ワッチョイ 0610-pIXJ)
2020/01/04(土) 15:59:54.32ID:dDunGyfu0 >>227
みています
ご指摘の通り、\nでspritかけてました!
\nってCR+LFじゃなかったんですね…
この後都合があるのですぐには試せませんが、
その辺確認してみます。
ありがとうございます!
みています
ご指摘の通り、\nでspritかけてました!
\nってCR+LFじゃなかったんですね…
この後都合があるのですぐには試せませんが、
その辺確認してみます。
ありがとうございます!
240デフォルトの名無しさん (ワッチョイ c268-UAPS)
2020/01/04(土) 16:12:12.74ID:8fEwlZFG0 \nはLFじゃなかったか
windowsの改行は\r\nだったような
windowsの改行は\r\nだったような
241デフォルトの名無しさん (ワッチョイ 0602-G4oO)
2020/01/04(土) 17:52:00.86ID:ALZ03HNg0 EditBoxでは\r\nでRichEditBoxでは\nだねWindows
242デフォルトの名無しさん (ワッチョイ e5da-UAPS)
2020/01/04(土) 17:56:48.54ID:+4weKQQc0 CR+LFの定数の vbCrLf か vbNewLine でいいんじゃね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★4 [Hitzeschleier★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ [冬月記者★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- 自民・麻生太郎副総裁 石破政権の1年は「どよーん」 高市政権発足で「何となく明るくなった」「世の中のことが決まり動いている」★2 [Hitzeschleier★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- ネトウヨ、「高市さんがカンペを無視して存立危機発言をしたのは、岡田に『カンペ読むな』と執拗に言われたので言っただけ」と歴史を捏造 [314039747]
- 敵「ククク、キミの親友の俺くんの死体を蘇らせて操り、お前らと戦わせるぞ」お前ら「」←どうする?
- コウメ太夫のネタ考えたから評価してくれ
- トランプ、G7に代わるcore 5を発表 [805596214]
- 【悲報】新米、全く売れなくて倉庫が満杯になってしまうwwwwwwwwwwwwwwwwwwww [802034645]
- うち近所に本格的ピッツァ屋あるけど羨ましい?
