ExcelのVBAに関する質問スレ
コード書き込みや作成依頼もOK
次スレは>>980が立てること
無理なら細かく安価指定
※前スレ
Excel VBA 質問スレ Part82
https://mevius.5ch.net/test/read.cgi/tech/1737657075/1
Excel VBA 質問スレ Part83
■ このスレッドは過去ログ倉庫に格納されています
2025/06/08(日) 11:06:42.20ID:j4jIPbHU
305デフォルトの名無しさん
2025/06/29(日) 18:43:03.87ID:MOD8edIy マクロから直接印刷はさすがにしてないです
pdf出力するのをしています
ちなみにどうしても縮尺指定にこだわりたい人の為に、縮尺指定→印刷プレビュー→印刷プレビュー閉じる→左右のページ数確認→ループのコードを書きました。
pdf出力するのをしています
ちなみにどうしても縮尺指定にこだわりたい人の為に、縮尺指定→印刷プレビュー→印刷プレビュー閉じる→左右のページ数確認→ループのコードを書きました。
306デフォルトの名無しさん
2025/06/30(月) 06:28:01.78ID:m9Iz5ero Excelの知識がなさすぎるひと向けに作るのはやめた方がいい
307デフォルトの名無しさん
2025/06/30(月) 11:45:51.43ID:jH/JIj4s つかExcelVBAは使うのやめた方がいい
トラブルの元
トラブルの元
308デフォルトの名無しさん
2025/06/30(月) 11:49:50.48ID:JQmVBSaF このスレで言うことか?
309デフォルトの名無しさん
2025/06/30(月) 18:11:33.26ID:CUdrd9La 印刷やろうとしてる人に向けてだろ…
でも明らかにセンスも作り込みスキルもなさそうだから同意
でも明らかにセンスも作り込みスキルもなさそうだから同意
310デフォルトの名無しさん
2025/06/30(月) 20:01:12.87ID:9Mnf4Vk7 >>309
センスも作り込みスキルも無さそうでしょうか?
センスも作り込みスキルも無さそうでしょうか?
311デフォルトの名無しさん
2025/06/30(月) 20:48:43.72ID:XO4EHMtF312デフォルトの名無しさん
2025/06/30(月) 20:54:02.73ID:9Mnf4Vk7313デフォルトの名無しさん
2025/07/01(火) 00:25:06.97ID:AnMu1HLz Chatさんに聞いてみたけど面倒くさそう。
' 例:20行目の上に改ページ(21行目から新しいページ)
余白2cm
Sub 印刷設定サンプル()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
With ws
.ResetAllPageBreaks
.HPageBreaks.Add Before:=.Rows(21)
With .PageSetup
.PrintTitleRows = "$1:$3"
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
.Orientation = xlPortrait
.PaperSize = xlPaperA4
.LeftMargin = Application.CentimetersToPoints(2)
.RightMargin = Application.CentimetersToPoints(2)
.TopMargin = Application.CentimetersToPoints(2)
.BottomMargin = Application.CentimetersToPoints(2)
.CenterHorizontally = True
End With
End With
MsgBox "印刷設定を適用しました。"
End Sub
' 例:20行目の上に改ページ(21行目から新しいページ)
余白2cm
Sub 印刷設定サンプル()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Sheet1")
With ws
.ResetAllPageBreaks
.HPageBreaks.Add Before:=.Rows(21)
With .PageSetup
.PrintTitleRows = "$1:$3"
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = False
.Orientation = xlPortrait
.PaperSize = xlPaperA4
.LeftMargin = Application.CentimetersToPoints(2)
.RightMargin = Application.CentimetersToPoints(2)
.TopMargin = Application.CentimetersToPoints(2)
.BottomMargin = Application.CentimetersToPoints(2)
.CenterHorizontally = True
End With
End With
MsgBox "印刷設定を適用しました。"
End Sub
314デフォルトの名無しさん
2025/07/01(火) 00:32:33.67ID:AnMu1HLz 続き。こういうのも多分いるよね。
指定した行数がA4印刷1ページに収まるかを調べ収まらない場合は改ページを設定する
各行の高さを合計して、ページ内に収まるかを判定。A4の印刷可能範囲の高さ(ポイント単位)と比較。オーバーするならその直前に 改ページを入れる。 A4用紙の印刷可能な高さ(おおよそ)
A4縦の高さ:29.7 cm = 約842 pt
上下余白(例):2cm + 2cm ≒ 113 pt(計)
⇒ 実質印刷可能範囲:約729 pt
※余白・ヘッダー・フッターにより変動
コード例
Sub 自動改ページ_行数と印刷高さを基準に()
Dim ws As Worksheet
Dim i As Long
Dim rowHeightSum As Double
Dim printHeightLimit As Double
Dim lastRow As Long
Set ws = ThisWorkbook.Sheets("Sheet1")
ws.ResetAllPageBreaks
' 印刷可能な高さを計算(A4縦:842pt - 上下余白 約113pt)
printHeightLimit = 842 - 113
rowHeightSum = 0
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
For i = 1 To lastRow
rowHeightSum = rowHeightSum + ws.Rows(i).RowHeight
If rowHeightSum > printHeightLimit Then
' この行の直前で改ページを入れる
ws.HPageBreaks.Add Before:=ws.Rows(i)
rowHeightSum =ws.Rows(i).RowHeight ' 次ページの高さリセット
End If
Next i
MsgBox "改ページを設定しました。"
End Sub
指定した行数がA4印刷1ページに収まるかを調べ収まらない場合は改ページを設定する
各行の高さを合計して、ページ内に収まるかを判定。A4の印刷可能範囲の高さ(ポイント単位)と比較。オーバーするならその直前に 改ページを入れる。 A4用紙の印刷可能な高さ(おおよそ)
A4縦の高さ:29.7 cm = 約842 pt
上下余白(例):2cm + 2cm ≒ 113 pt(計)
⇒ 実質印刷可能範囲:約729 pt
※余白・ヘッダー・フッターにより変動
コード例
Sub 自動改ページ_行数と印刷高さを基準に()
Dim ws As Worksheet
Dim i As Long
Dim rowHeightSum As Double
Dim printHeightLimit As Double
Dim lastRow As Long
Set ws = ThisWorkbook.Sheets("Sheet1")
ws.ResetAllPageBreaks
' 印刷可能な高さを計算(A4縦:842pt - 上下余白 約113pt)
printHeightLimit = 842 - 113
rowHeightSum = 0
lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
For i = 1 To lastRow
rowHeightSum = rowHeightSum + ws.Rows(i).RowHeight
If rowHeightSum > printHeightLimit Then
' この行の直前で改ページを入れる
ws.HPageBreaks.Add Before:=ws.Rows(i)
rowHeightSum =ws.Rows(i).RowHeight ' 次ページの高さリセット
End If
Next i
MsgBox "改ページを設定しました。"
End Sub
315デフォルトの名無しさん
2025/07/01(火) 07:51:53.41ID:hLMayhbM >>313
このコードは何をしているかというと、
21行目の上 つまり20行目と21行目に改ページを設定して
上にヘッダー?を設定して
縮尺解除
全列を1ページに収める
行のページ数は自動
用紙サイズはA4
という設定をしています
しかし、改ページの設定は
改ページビューの青い点線(実はこれが自動改ページ)ではないから
1ページと2ページに余分な空白のページが挟まる
このコードは何をしているかというと、
21行目の上 つまり20行目と21行目に改ページを設定して
上にヘッダー?を設定して
縮尺解除
全列を1ページに収める
行のページ数は自動
用紙サイズはA4
という設定をしています
しかし、改ページの設定は
改ページビューの青い点線(実はこれが自動改ページ)ではないから
1ページと2ページに余分な空白のページが挟まる
316デフォルトの名無しさん
2025/07/01(火) 12:47:55.21ID:cyOlFSbV インスパイアされて作ってみた
関西のコミュニケーションの多様性にはリスペクトしか無い
https://89.gigafile.nu/0706-cf0368763b1caf00c266d1efc563aea36
ネィティブでは無いので誤りが有ったら指摘もらえば改良もやぶさかではない
Captionだけじゃ物足りないので喋らせてみたが、これが結構ドツボ
ExcelでのSpeakは、まだまだ途上らしい
関西のコミュニケーションの多様性にはリスペクトしか無い
https://89.gigafile.nu/0706-cf0368763b1caf00c266d1efc563aea36
ネィティブでは無いので誤りが有ったら指摘もらえば改良もやぶさかではない
Captionだけじゃ物足りないので喋らせてみたが、これが結構ドツボ
ExcelでのSpeakは、まだまだ途上らしい
317デフォルトの名無しさん
2025/07/01(火) 21:04:55.51ID:hLMayhbM >>316
何をお作りになられたのでしょうか?
何をお作りになられたのでしょうか?
318デフォルトの名無しさん
2025/07/01(火) 23:30:56.43ID:uDpPxP0Z 俺氏、VBAで去年社内最優秀賞30万
今年はちょびちょび改善で出して1万6500円
抜群のセンスだわさ
今年はちょびちょび改善で出して1万6500円
抜群のセンスだわさ
319デフォルトの名無しさん
2025/07/02(水) 00:01:46.59ID:0vwAlXoU そう思うならさっさと転職して本職のITエンジニアになった方が稼げるよ
320デフォルトの名無しさん
2025/07/02(水) 02:51:17.71ID:g2KaZT8X AI時代にここの質問スレは盛況なのは何故だ
321デフォルトの名無しさん
2025/07/02(水) 03:40:33.29ID:fiQBdOaz AIがイマイチだから
322デフォルトの名無しさん
2025/07/02(水) 07:59:03.99ID:02hJ4H7c AIに書かせることはできても、それの検証はどのみち必要だから
323デフォルトの名無しさん
2025/07/02(水) 08:13:15.57ID:h5Fr+SaE ガイジだけど質問ある?
死にたいガイジ…空気読めないガイジ…死にたいガイジ…
死にたいガイジ…空気読めないガイジ…死にたいガイジ…
324デフォルトの名無しさん
2025/07/02(水) 08:19:12.11ID:q22wzhF/ AIはうそつきだし
適度に事実も混ぜてくるから一番やっかい
適度に事実も混ぜてくるから一番やっかい
325デフォルトの名無しさん
2025/07/02(水) 08:29:36.52ID:8Lvzc6gd やっかいだと思うなら使わなけりゃ良いだけなのに、
他人にもそうさせようとするのはなんで?
他人にもそうさせようとするのはなんで?
326デフォルトの名無しさん
2025/07/02(水) 08:36:59.95ID:QMHVqlVc >>317
[はい][いいえ]を関西弁で、という話題にインスパイアされて
・一つのユーザーフォームを使い回しできる方法
・セルの文字をボタンやラベルのキャプションにしてしまう方法
・何ならしゃべらせる方法
関西弁に限らず、広島弁でも博多弁でもかごんま弁でもとーほぐ弁でもご随意に
リンク先の[ダウンロード開始]ボタンで落とせる
うかつに開くといきなりダイアログが出てきてしゃべりだすので音量注意
OSに入ってるナレーターは、Haruka、Ayumi、Sayaka、Ichiroと選べるはずが
Wordと違ってExcelだとデフォルトのHaruka限定にされて変えられないとのことで
そこがドツボだった まぁ幸い解決方法を指南してくれてるサイトに辿り着けた
喋ってる間は全リソース奪われて他の操作は一切出来なくなるのは、如何ともし難いのか
[はい][いいえ]を関西弁で、という話題にインスパイアされて
・一つのユーザーフォームを使い回しできる方法
・セルの文字をボタンやラベルのキャプションにしてしまう方法
・何ならしゃべらせる方法
関西弁に限らず、広島弁でも博多弁でもかごんま弁でもとーほぐ弁でもご随意に
リンク先の[ダウンロード開始]ボタンで落とせる
うかつに開くといきなりダイアログが出てきてしゃべりだすので音量注意
OSに入ってるナレーターは、Haruka、Ayumi、Sayaka、Ichiroと選べるはずが
Wordと違ってExcelだとデフォルトのHaruka限定にされて変えられないとのことで
そこがドツボだった まぁ幸い解決方法を指南してくれてるサイトに辿り着けた
喋ってる間は全リソース奪われて他の操作は一切出来なくなるのは、如何ともし難いのか
327デフォルトの名無しさん
2025/07/02(水) 08:47:20.48ID:q22wzhF/ 関西弁のyes/no
それはええ/それはええ
それはええ/それはええ
328デフォルトの名無しさん
2025/07/02(水) 08:49:18.32ID:q22wzhF/ >>325
個人の中で完結ならいいけど、AIの嘘回答でドヤってくるのが迷惑
個人の中で完結ならいいけど、AIの嘘回答でドヤってくるのが迷惑
329デフォルトの名無しさん
2025/07/02(水) 08:52:51.46ID:8Lvzc6gd330デフォルトの名無しさん
2025/07/02(水) 09:23:01.60ID:IvKsZJU4 AIにも種類あるからなぁ
問い方にもよるし
問い方にもよるし
331デフォルトの名無しさん
2025/07/02(水) 09:28:17.31ID:sOTx1Ysw AIにテストとバグ取りまでやらせろ
332デフォルトの名無しさん
2025/07/02(水) 11:09:29.63ID:QMHVqlVc >>327 ww
333デフォルトの名無しさん
2025/07/02(水) 12:42:29.90ID:PqQB+KG0 AIに作らせて出来てなかったら投げかけるだけだろ
こんなIT音痴な奴がVBA触ってる事にビビる大木
こんなIT音痴な奴がVBA触ってる事にビビる大木
334デフォルトの名無しさん
2025/07/02(水) 19:40:08.71ID:WTqAcEsV AI使って嘘の回答だったら質問変えたりコード直せばいいだけでしょ。
実際自分で調べるよりもめちゃくちゃ早いし便利に使えてるよ。
人間は平気で嘘つくのにAIに嘘つくなって求めるのはおかしいでしょ。
実際自分で調べるよりもめちゃくちゃ早いし便利に使えてるよ。
人間は平気で嘘つくのにAIに嘘つくなって求めるのはおかしいでしょ。
335デフォルトの名無しさん
2025/07/02(水) 20:01:38.68ID:0vwAlXoU VBAの場合は他のメジャーなプログラミング言語と比べて平均的な人間とAIの差が大きすぎるから、いきなりゼロショットで指示すると期待通りの結果が得られにくい
もちろんAIの方が上だ
AIに対して予め既存のコードをサンプルとして与えてあげてレベル感を知ってもらうと、いい感じに合わせてくれるよ
もちろんAIの方が上だ
AIに対して予め既存のコードをサンプルとして与えてあげてレベル感を知ってもらうと、いい感じに合わせてくれるよ
「嘘の回答だったら」
そもそも嘘かどうか知ってるなら聴く必要が無い
結局嘘じゃないことを調べるのにそれ以上に時間がかかる
そもそも嘘かどうか知ってるなら聴く必要が無い
結局嘘じゃないことを調べるのにそれ以上に時間がかかる
337デフォルトの名無しさん
2025/07/03(木) 10:05:56.29ID:q23h/8z8 「人間は平気で嘘つくのに嘘つくなって求めるのはおかしい」
判らんのに平気で嘘回答するネラーも多い罠
判らんのに平気で嘘回答するネラーも多い罠
338デフォルトの名無しさん
2025/07/03(木) 10:16:58.13ID:gVoGF6e7 政治家の財源がないは嘘
339デフォルトの名無しさん
2025/07/03(木) 10:28:29.92ID:q23h/8z8 學歴も嘘
340デフォルトの名無しさん
2025/07/03(木) 10:37:23.12ID:cEJAYS/6341デフォルトの名無しさん
2025/07/03(木) 10:44:24.00ID:q23h/8z8 340
どうみてもAI以下です
どうみてもAI以下です
342デフォルトの名無しさん
2025/07/03(木) 20:41:52.66ID:1CjDULGZ こんなAIの本質をわかってないような奴らが作るVBAなんてたまらんよ
343デフォルトの名無しさん
2025/07/03(木) 20:45:28.43ID:NNwfFfCt344デフォルトの名無しさん
2025/07/03(木) 21:14:39.37ID:zL884xZP どこの誰がなにをどう作ろうとも、その成果物に実際に触る訳でも無いし
それに依って迷惑を被る訳でも無いだろ?
ナニを上から目線で大口叩いてんだか
偶々そのソースを目にすることがあろうとも、評価してくれと頼まれた訳でも無いし
VBA評議会の高位評議員という立場でも無いだろ 何がしたいん?
それに依って迷惑を被る訳でも無いだろ?
ナニを上から目線で大口叩いてんだか
偶々そのソースを目にすることがあろうとも、評価してくれと頼まれた訳でも無いし
VBA評議会の高位評議員という立場でも無いだろ 何がしたいん?
345デフォルトの名無しさん
2025/07/03(木) 22:51:34.02ID:IBfGzwrB >>336
AIに質問すればコードの1行ずつ丁寧に解説してくれるけどそれでも正しいかどうか調べるのに時間がかかるの?
AIに質問すればコードの1行ずつ丁寧に解説してくれるけどそれでも正しいかどうか調べるのに時間がかかるの?
346デフォルトの名無しさん
2025/07/03(木) 22:55:11.76ID:x0A3mg3D それをAIに1行ずつ丁寧に解説させて、その内容をさらにAIに解説させて.....以下略
347デフォルトの名無しさん
2025/07/03(木) 23:14:39.22ID:1CjDULGZ どんだけAIに質問投げるの下手なんだよマジでよー
348デフォルトの名無しさん
2025/07/03(木) 23:19:49.48ID:IBfGzwrB 人間と同じで相性なんですかね。
合わないものは合わないのかなぁ。
合わないものは合わないのかなぁ。
349デフォルトの名無しさん
2025/07/04(金) 08:07:10.89ID:3EnEQ/Df350デフォルトの名無しさん
2025/07/04(金) 09:00:20.43ID:fF3rQ1JL AIに投げる質問を造るのがうまいと言うことは既にAIに聴く必要が無いんだわ
351デフォルトの名無しさん
2025/07/04(金) 13:21:56.31ID:3EnEQ/Df それは違う
プロンプトエンジニアリング能力と他の能力は別物
プロンプトエンジニアリング能力と他の能力は別物
352デフォルトの名無しさん
2025/07/04(金) 15:02:13.77ID:pEhONqjq だったらAIにでも話してろよ
353デフォルトの名無しさん
2025/07/04(金) 18:27:01.53ID:0E9WgSh7 一生懸命コードの基礎学んだのにセンスが無い奴は必死になるよなそりゃ
354デフォルトの名無しさん
2025/07/04(金) 19:13:39.58ID:3EnEQ/Df >>353
?
?
355デフォルトの名無しさん
2025/07/04(金) 21:05:20.15ID:rizrt2ys >>349
言いたいことがよくわからないです。
おっしゃってるようにAIでコードを書いても人で書いてもテストはします。
ただAIで書いたコードのテストは人のコードより時間がかかるというお話ですか?
丁寧にAIに教えてもらえても?
AIは関係ないと思うけど違うのかな。
言いたいことがよくわからないです。
おっしゃってるようにAIでコードを書いても人で書いてもテストはします。
ただAIで書いたコードのテストは人のコードより時間がかかるというお話ですか?
丁寧にAIに教えてもらえても?
AIは関係ないと思うけど違うのかな。
356デフォルトの名無しさん
2025/07/04(金) 21:22:07.36ID:JLFKZ1OE >>355
どこの何をテストする必要があるのかを判断できる能力がある、
もしくはどこの何をテストする必要があるかを導くプロンプトを書ける、
もしくは必要な箇所なテストまで終えるプロンプトをかけるなら問題ない
どこの何をテストする必要があるのかを判断できる能力がある、
もしくはどこの何をテストする必要があるかを導くプロンプトを書ける、
もしくは必要な箇所なテストまで終えるプロンプトをかけるなら問題ない
357デフォルトの名無しさん
2025/07/05(土) 06:16:26.93ID:+cv+JpUz >>356
例えばCSVファイルを開くときのテストケースを教えてってAI聞いてみたけど答えてくれたよ。
VBAでCSVファイルを開く処理に対して、以下のようなテストケースを行うと、動作の信頼性やエラー対策が強化できます。
主なテストケース一覧
・CSVファイルが存在し開ける 正常にファイルを開けることを確認
・ファイルが存在しない場合 指定されたCSVが見つからない場合の対処
・既に開かれているブックかどうかを確認
・読み取り専用のCSVを開けるかどうか のテスト
・空のCSVファイル 内容が空でもエラーにならないか確認
・文字コードに関わるデータが正しく読めるかのテスト
・CSVの列数・行数が極端に多い たくさんのデータがあるときの パフォーマンスの確認
・ダブルクォートやカンマを含むセル "東京,品川"のようなセルが正しく扱われるか セル確認
・ファイルロックされている場合のエラー回避の確認
例えばCSVファイルを開くときのテストケースを教えてってAI聞いてみたけど答えてくれたよ。
VBAでCSVファイルを開く処理に対して、以下のようなテストケースを行うと、動作の信頼性やエラー対策が強化できます。
主なテストケース一覧
・CSVファイルが存在し開ける 正常にファイルを開けることを確認
・ファイルが存在しない場合 指定されたCSVが見つからない場合の対処
・既に開かれているブックかどうかを確認
・読み取り専用のCSVを開けるかどうか のテスト
・空のCSVファイル 内容が空でもエラーにならないか確認
・文字コードに関わるデータが正しく読めるかのテスト
・CSVの列数・行数が極端に多い たくさんのデータがあるときの パフォーマンスの確認
・ダブルクォートやカンマを含むセル "東京,品川"のようなセルが正しく扱われるか セル確認
・ファイルロックされている場合のエラー回避の確認
358デフォルトの名無しさん
2025/07/05(土) 06:51:38.76ID:pq8ewG8r >>357
それだとハルシネーションが含まれていた場合のことを考慮できてない
それだとハルシネーションが含まれていた場合のことを考慮できてない
359デフォルトの名無しさん
2025/07/05(土) 08:48:09.96ID:rEK7AeQH360デフォルトの名無しさん
2025/07/05(土) 08:57:41.98ID:rEK7AeQH 古いExcelでは先頭がIDだとSYLK扱いされる問題もあるな
361デフォルトの名無しさん
2025/07/05(土) 09:10:19.51ID:+boHNEOG >>357
csvファイルへのショートカットだった場合のチェックがない
開くと読み込みを一緒にしているのが気になった
その前にもともと自力でできる作業なら初めからAIは使わないだろうし
AIが示さない項目を無視していいかの判断ができるのかな
主な項目だからそれ以外もあるよとか後になって言うのはどうかと思うし
csvファイルへのショートカットだった場合のチェックがない
開くと読み込みを一緒にしているのが気になった
その前にもともと自力でできる作業なら初めからAIは使わないだろうし
AIが示さない項目を無視していいかの判断ができるのかな
主な項目だからそれ以外もあるよとか後になって言うのはどうかと思うし
362デフォルトの名無しさん
2025/07/05(土) 09:13:22.18ID:gPk7JHhb ショートカット?これは馬鹿のふりしてるの?
363デフォルトの名無しさん
2025/07/05(土) 09:31:15.35ID:vyFcCxL+ ショートカットでもcsv開くことがあるがcsvでないことはしっている
364デフォルトの名無しさん
2025/07/05(土) 09:35:20.09ID:eCCJvae8 既にAIの知能が人間を遥かに超えており、ボトルネックがバカな人間であることがよくわかるスレ
365デフォルトの名無しさん
2025/07/05(土) 09:46:16.30ID:vyFcCxL+ うちの環境が普通でないなら無視してくれて構わんよ
366デフォルトの名無しさん
2025/07/05(土) 09:55:15.54ID:Pf7qA/Ja 我流、独学でExcelをやっている人が表を作ると、そのつもりやその存在を全く知らなくても、マトリクス表形式で表を作成してしまい、しかも完成したものに対してピボットテーブルを使用すると言うのはあるあるですよね?
367デフォルトの名無しさん
2025/07/05(土) 10:34:06.26ID:+cv+JpUz368デフォルトの名無しさん
2025/07/05(土) 11:46:24.77ID:dpOItoML >>357
CSVカラムの途中で改行が入る場合
CSVカラムの途中で改行が入る場合
369デフォルトの名無しさん
2025/07/05(土) 15:15:49.95ID:y/LWjdC1 「俺が流れを止めるからお前は先に行け!」みたいなこと言ってみたいね
370デフォルトの名無しさん
2025/07/05(土) 15:50:51.02ID:8jsOt+Pc 「その作業が本当に必要かどうか、もう一度考え直す」
371デフォルトの名無しさん
2025/07/05(土) 19:53:47.88ID:AqSnrZiN >>370
それはVBA職人的にはタブーでしょ
人力でやってた仕事というのは、自動でやるなら本質的にはそもそもやる必要のないものが多い
VBAはワークフローの改善に踏み込むことなくただ人力作業を単純に自動化するのが王道で、
仕事の意味を問うてしまうとVBAの仕事が減ることに繋がる
それはVBA職人的にはタブーでしょ
人力でやってた仕事というのは、自動でやるなら本質的にはそもそもやる必要のないものが多い
VBAはワークフローの改善に踏み込むことなくただ人力作業を単純に自動化するのが王道で、
仕事の意味を問うてしまうとVBAの仕事が減ることに繋がる
372デフォルトの名無しさん
2025/07/05(土) 22:49:12.14ID:+cv+JpUz >>368
指摘ありがとうございます。
もう回答を全部出してみたよ。
これ以外でテストケースがあるなら負けです。。。
VBAでCSVファイルを開いて読み込む際には、さまざまなケースに対応する必要があります。考えうるテストケースをカテゴリ別に網羅的に洗い出します。
基本ケース
1 正常なCSVファイルを開いて正しく読み込めるか
2 ファイルが存在しない場合のエラー処理
3 空のCSVファイルを読み込んだときの動作
4 CSVファイルのパスに全角文字・日本語が含まれる場合
データ構造・形式のバリエーション
5 カンマを含むデータがダブルクォートで囲まれている "東京都,千代田区"など
6 改行が含まれるデータ
7 ダブルクォートを含むデータ
8 区切り文字がセミコロンやタブなどの場合
9 複数の空白を含む行
10 各行のカラム数が不揃い
11 数値が先頭に0を含むデータ
12 日付形式のデータ
13 UTF-8 BOM付きファイル
14 Shift-JIS形式のファイル
指摘ありがとうございます。
もう回答を全部出してみたよ。
これ以外でテストケースがあるなら負けです。。。
VBAでCSVファイルを開いて読み込む際には、さまざまなケースに対応する必要があります。考えうるテストケースをカテゴリ別に網羅的に洗い出します。
基本ケース
1 正常なCSVファイルを開いて正しく読み込めるか
2 ファイルが存在しない場合のエラー処理
3 空のCSVファイルを読み込んだときの動作
4 CSVファイルのパスに全角文字・日本語が含まれる場合
データ構造・形式のバリエーション
5 カンマを含むデータがダブルクォートで囲まれている "東京都,千代田区"など
6 改行が含まれるデータ
7 ダブルクォートを含むデータ
8 区切り文字がセミコロンやタブなどの場合
9 複数の空白を含む行
10 各行のカラム数が不揃い
11 数値が先頭に0を含むデータ
12 日付形式のデータ
13 UTF-8 BOM付きファイル
14 Shift-JIS形式のファイル
373デフォルトの名無しさん
2025/07/05(土) 23:41:01.05ID:8jsOt+Pc >>372
・パスが長すぎる場合
・処理系による改行コードの違い
・ファイル全体でダブルクォートが奇数個(閉じられていない)
・巨大すぎる(項目のサイズ、項目の数、行数)
・ファイルの破損(バイナリデータ混入など)
・ファイルシステムの破損、不良セクタなど
・パスが長すぎる場合
・処理系による改行コードの違い
・ファイル全体でダブルクォートが奇数個(閉じられていない)
・巨大すぎる(項目のサイズ、項目の数、行数)
・ファイルの破損(バイナリデータ混入など)
・ファイルシステムの破損、不良セクタなど
374デフォルトの名無しさん
2025/07/06(日) 02:30:01.30ID:N2XXWgcj >>372
Workbooks.OpenでCSVを読むならテスト項目ほとんど要らなくね?
テキストファイルとして読んで、列と行の分割処理をするなら、
CSVのフォーマット定義を先にやらないとテスト項目作れなくね?
読み込みファイルの指定方法も先に決める必要がなくね?
Workbooks.OpenでCSVを読むならテスト項目ほとんど要らなくね?
テキストファイルとして読んで、列と行の分割処理をするなら、
CSVのフォーマット定義を先にやらないとテスト項目作れなくね?
読み込みファイルの指定方法も先に決める必要がなくね?
375デフォルトの名無しさん
2025/07/06(日) 06:55:32.42ID:hfT56Vvk >>373-374
Claude様に聞いてやったぞ
373と374は的外れすぎる
373について
・「ファイルシステム破損、不良セクタ」→ システム障害テストの範疇、CSV処理テストじゃない
・「ファイル破損(バイナリ混入)」→ 同上、テスト範囲を混同してる
・「巨大すぎる」→ パフォーマンステスト、機能テストと分けろ
改行コードとダブルクォート奇数個は有効だが、他は論点ズレ
374について
完全に間違ってる
・「Workbooks.Openならテスト項目要らない」→ 嘘、文字化け・区切り文字誤認識・データ型自動変換でバグ頻発する
・「CSVフォーマット定義を先に」→ RFC4180あるし、372みたいに実際の問題パターン網羅する方が実用的
・「読み込み方法を先に決める」→ 順序が逆、テストケース洗い出してから実装方法決めるのが正解
372が一番まとも。実際の開発で遭遇する問題を的確に押さえてる
Claude様に聞いてやったぞ
373と374は的外れすぎる
373について
・「ファイルシステム破損、不良セクタ」→ システム障害テストの範疇、CSV処理テストじゃない
・「ファイル破損(バイナリ混入)」→ 同上、テスト範囲を混同してる
・「巨大すぎる」→ パフォーマンステスト、機能テストと分けろ
改行コードとダブルクォート奇数個は有効だが、他は論点ズレ
374について
完全に間違ってる
・「Workbooks.Openならテスト項目要らない」→ 嘘、文字化け・区切り文字誤認識・データ型自動変換でバグ頻発する
・「CSVフォーマット定義を先に」→ RFC4180あるし、372みたいに実際の問題パターン網羅する方が実用的
・「読み込み方法を先に決める」→ 順序が逆、テストケース洗い出してから実装方法決めるのが正解
372が一番まとも。実際の開発で遭遇する問題を的確に押さえてる
376デフォルトの名無しさん
2025/07/06(日) 08:00:56.53ID:N2XXWgcj >>375
外部仕様を先に決めるべきという意味だったんだけど、それも間違ってんの?
CSV=RFC4180というのは一般的じゃない気が・・・
Workbooks.Openを使うなら、「CSVフォーマットはExcelのAPIのそれ」で決定だからAPI動作の二重チェックは不要かな〜と。
外部仕様を先に決めるべきという意味だったんだけど、それも間違ってんの?
CSV=RFC4180というのは一般的じゃない気が・・・
Workbooks.Openを使うなら、「CSVフォーマットはExcelのAPIのそれ」で決定だからAPI動作の二重チェックは不要かな〜と。
377デフォルトの名無しさん
2025/07/06(日) 12:05:21.27ID:Jlu3MuzZ セマフォは?
別プロセスが同じファイルを開いてるから今は処理すべきでない、とか
別プロセスが同じファイルを開いてるから今は処理すべきでない、とか
378372
2025/07/06(日) 21:01:04.07ID:jU0PBm+8 すみません。
昨日テストケースをすべて載せるつもりだったのですが書き込み制限で書けず途中で諦めました。
テストケースは37項目まであります。
昨日テストケースをすべて載せるつもりだったのですが書き込み制限で書けず途中で諦めました。
テストケースは37項目まであります。
379デフォルトの名無しさん
2025/07/07(月) 09:23:50.46ID:GhKlbyJu だが、Copilotにプログラムを作らせると、こんなにも原始的でバグだらけなのであった
しかもこれだとクソ遅い
【設問】以下はVBAでCSVファイルを開いて読み込むプログラムである。バグを指摘せよ。
FilePath = "C:\Users\YourName\Documents\sample.csv"
FileNum = FreeFile
Open FilePath For Input As #FileNum
RowNum = 1
Do Until EOF(FileNum)
Line Input #FileNum, LineData
DataArray = Split(LineData, ",")
Dim i As Integer
For i = 0 To UBound(DataArray)
Cells(RowNum, i + 1).Value = DataArray(i)
Next i
RowNum = RowNum + 1
Loop
Close #FileNum
しかもこれだとクソ遅い
【設問】以下はVBAでCSVファイルを開いて読み込むプログラムである。バグを指摘せよ。
FilePath = "C:\Users\YourName\Documents\sample.csv"
FileNum = FreeFile
Open FilePath For Input As #FileNum
RowNum = 1
Do Until EOF(FileNum)
Line Input #FileNum, LineData
DataArray = Split(LineData, ",")
Dim i As Integer
For i = 0 To UBound(DataArray)
Cells(RowNum, i + 1).Value = DataArray(i)
Next i
RowNum = RowNum + 1
Loop
Close #FileNum
380デフォルトの名無しさん
2025/07/07(月) 10:00:11.48ID:xGHCrZSN >>379
CopilotはVBAerほどじゃないにせよアホの子だからね
以下、Claude Opus 4 with extended thinkingの回答
主なバグ:
1. カンマを含む値(“Tokyo, Japan”等)が分割される
2. エラー処理なし。ファイルなかったら死ぬ
3. 変数宣言してない(Option Explicit使ってたらエラー)
4. UTF-8読めない。日本語文字化け
5. セル1個ずつ書き込みでクソ遅い
6. 前のデータ消さないから残る
最悪の例:
CSVに "売上高は1,000,000円" があったら
→ 売上高は1 000 000円" の3列に分解されるw
結論:Workbooks.OpenTextかQueryTables使え
CopilotはVBAerほどじゃないにせよアホの子だからね
以下、Claude Opus 4 with extended thinkingの回答
主なバグ:
1. カンマを含む値(“Tokyo, Japan”等)が分割される
2. エラー処理なし。ファイルなかったら死ぬ
3. 変数宣言してない(Option Explicit使ってたらエラー)
4. UTF-8読めない。日本語文字化け
5. セル1個ずつ書き込みでクソ遅い
6. 前のデータ消さないから残る
最悪の例:
CSVに "売上高は1,000,000円" があったら
→ 売上高は1 000 000円" の3列に分解されるw
結論:Workbooks.OpenTextかQueryTables使え
381デフォルトの名無しさん
2025/07/07(月) 10:31:44.26ID:GhKlbyJu >>380
変数宣言は行数の都合でカットしたのでCopilot君は悪くない
変数宣言は行数の都合でカットしたのでCopilot君は悪くない
382デフォルトの名無しさん
2025/07/07(月) 14:15:38.83ID:quoGln+a >>379
ChatGPTだとこんな感じですね。
そのまま貼り付けたので全角も見てくれてる。
バグ・問題点
1 変数の未宣言
2 インデントに全角スペースが混在
3 変数 i の Dim がループ内にある
補足(改善点)
・CSVに カンマを含むセル がある場合、Splitだけでは不十分(→正確なCSV解析が必要)。
・ファイル存在チェック (Dir(FilePath) など) を入れるとより堅牢になります。
・Shift-JIS以外の文字コード(例:UTF-8 BOM付き)は Open では正しく読み込めないことがあります。
ChatGPTだとこんな感じですね。
そのまま貼り付けたので全角も見てくれてる。
バグ・問題点
1 変数の未宣言
2 インデントに全角スペースが混在
3 変数 i の Dim がループ内にある
補足(改善点)
・CSVに カンマを含むセル がある場合、Splitだけでは不十分(→正確なCSV解析が必要)。
・ファイル存在チェック (Dir(FilePath) など) を入れるとより堅牢になります。
・Shift-JIS以外の文字コード(例:UTF-8 BOM付き)は Open では正しく読み込めないことがあります。
383デフォルトの名無しさん
2025/07/07(月) 22:35:59.87ID:CvRTuASj バグも直してもらえばいいんじゃね
384デフォルトの名無しさん
2025/07/08(火) 00:47:00.39ID:urjDQqc8 今日のCopilotはWorkbooks.Openの気分らしい
だけどFormat引数が間違ってて動かないw
ファイルパス = "C:\Users\YourName\Documents\" ' ←適宜変更してください
ファイル名 = "sample.csv" ' ←読み込むCSVファイル名に変更
完全パス = ファイルパス & ファイル名
Workbooks.Open Filename:=完全パス, Format:=6
↓(実行時エラー1004で動かないぞ!直せ)↓
ファイルパス = "C:\Users\YourName\Documents\" ' ←適宜変更してください
ファイル名 = "sample.csv" ' ←読み込むCSVファイル名に変更
完全パス = ファイルパス & ファイル名
Workbooks.Open Filename:=完全パス
直った
だけどFormat引数が間違ってて動かないw
ファイルパス = "C:\Users\YourName\Documents\" ' ←適宜変更してください
ファイル名 = "sample.csv" ' ←読み込むCSVファイル名に変更
完全パス = ファイルパス & ファイル名
Workbooks.Open Filename:=完全パス, Format:=6
↓(実行時エラー1004で動かないぞ!直せ)↓
ファイルパス = "C:\Users\YourName\Documents\" ' ←適宜変更してください
ファイル名 = "sample.csv" ' ←読み込むCSVファイル名に変更
完全パス = ファイルパス & ファイル名
Workbooks.Open Filename:=完全パス
直った
385デフォルトの名無しさん
2025/07/08(火) 01:58:30.92ID:9X9f1TC3 Format:=6なんて絶対使わないのに、どこからコピペしてきたんだよ
386デフォルトの名無しさん
2025/07/08(火) 10:53:17.46ID:Lf/Jcjxk 馬鹿の上塗り
387デフォルトの名無しさん
2025/07/08(火) 16:04:18.48ID:J6qvAQ9A このスレ沼しか居ねぇな…google ai studioの方がまだ良い解答してくれんぞ…
388デフォルトの名無しさん
2025/07/08(火) 17:01:18.70ID:G3ulfBZW >>387
とても鋭い視点です。さすがですね!
とても鋭い視点です。さすがですね!
389デフォルトの名無しさん
2025/07/08(火) 17:33:24.49ID:BCBq8ImS studio と名付けられてる意味わかってんのかな?
中の人はGeminiそのものらしいじゃんか
中の人はGeminiそのものらしいじゃんか
390デフォルトの名無しさん
2025/07/08(火) 17:42:58.67ID:yBGpSZNW >>389
その論理だとChromeとChrome OSも比較できないことになるが?
同じモデル使ってても実装・UI・機能が違えば体験は全然違うぞ
StudioはAPI統合やパラメータ調整できる開発者向けツール、コンシューマー版Geminiとは設計思想が違う
「中の人が同じ」で比較無意味論は技術理解が浅すぎる
387の解答品質指摘は妥当な比較対象だし、実際のユーザー体験差を無視してる時点で的外れ
とAI様が仰せになっている
その論理だとChromeとChrome OSも比較できないことになるが?
同じモデル使ってても実装・UI・機能が違えば体験は全然違うぞ
StudioはAPI統合やパラメータ調整できる開発者向けツール、コンシューマー版Geminiとは設計思想が違う
「中の人が同じ」で比較無意味論は技術理解が浅すぎる
387の解答品質指摘は妥当な比較対象だし、実際のユーザー体験差を無視してる時点で的外れ
とAI様が仰せになっている
391デフォルトの名無しさん
2025/07/08(火) 18:21:34.45ID:urjDQqc8 >>385
どうやらCopilotさんは間違って記憶している模様
> Workbooks.OpenのFormat 6 はカンマ区切りですか?
はい、Excel VBAで使用される Workbooks.Open メソッドの Format:=6 は「カンマ区切り (CSV) 形式」を示します。
これは、テキストファイルを開くときに、フィールド区切り文字としてカンマが使われている場合に指定されます。
> CSVは2じゃないの?
まず結論から言うと:
Format:=2 → タブ区切り(Tab-delimited)
Format:=6 → カンマ区切り(Comma-delimited)
つまり、CSV形式のファイル(カンマ区切り)を読み込むには Format:=6 を使うのが正解です。
w
どうやらCopilotさんは間違って記憶している模様
> Workbooks.OpenのFormat 6 はカンマ区切りですか?
はい、Excel VBAで使用される Workbooks.Open メソッドの Format:=6 は「カンマ区切り (CSV) 形式」を示します。
これは、テキストファイルを開くときに、フィールド区切り文字としてカンマが使われている場合に指定されます。
> CSVは2じゃないの?
まず結論から言うと:
Format:=2 → タブ区切り(Tab-delimited)
Format:=6 → カンマ区切り(Comma-delimited)
つまり、CSV形式のファイル(カンマ区切り)を読み込むには Format:=6 を使うのが正解です。
w
392デフォルトの名無しさん
2025/07/08(火) 18:33:40.30ID:G3ulfBZW うちでは2って教えてくれた
393デフォルトの名無しさん
2025/07/09(水) 08:08:49.40ID:NYgpwKZ5 つまり、開発環境てことだろ? その中のAI部分を担当してるのはGeminiという認識なんだが?
そのGeminiを使ってAI開発に特化した環境を整えてみましたが、何か? っつーのがStudioなのでは?
じゃあ、コンシューマー向けGeminiとStudioの中の人と成り果ててるGeminiと有料版Studioの中の人は
ぜんぶ別人が担当してンのか?
それぞれ精度にランク付けしてて、コンシューマー向けにはBマイナス程度でいいや
StudioならAな その有料版ならA++とかAAAとかでお答えして差し上げろ とか差別化してるん?
Ver違いってならまだ判る 無料なら2.0でいいよ Studioは2.5にしとくか 有料版は3.0β版な
Copilotを多用してる奴に向かってgoogle ai studio(←ぜんぶ小文字なのが何とも)のが優れてる!
っつーお門違いのコンコンチキな放言は許容できるのか?
おなじGemini同士で比較して見せるとかならまだしも
まあ、おれにはどうでもいいんだけど、ブレインストーミングがてらにしたためてみました
そのGeminiを使ってAI開発に特化した環境を整えてみましたが、何か? っつーのがStudioなのでは?
じゃあ、コンシューマー向けGeminiとStudioの中の人と成り果ててるGeminiと有料版Studioの中の人は
ぜんぶ別人が担当してンのか?
それぞれ精度にランク付けしてて、コンシューマー向けにはBマイナス程度でいいや
StudioならAな その有料版ならA++とかAAAとかでお答えして差し上げろ とか差別化してるん?
Ver違いってならまだ判る 無料なら2.0でいいよ Studioは2.5にしとくか 有料版は3.0β版な
Copilotを多用してる奴に向かってgoogle ai studio(←ぜんぶ小文字なのが何とも)のが優れてる!
っつーお門違いのコンコンチキな放言は許容できるのか?
おなじGemini同士で比較して見せるとかならまだしも
まあ、おれにはどうでもいいんだけど、ブレインストーミングがてらにしたためてみました
394デフォルトの名無しさん
2025/07/09(水) 08:48:44.88ID:/UzV6WSq スレ違いの長文とか救えない
395デフォルトの名無しさん
2025/07/09(水) 09:32:08.40ID:EKMDM/sM 391
x 間違って記憶している
o 過學習でアホになった
x 間違って記憶している
o 過學習でアホになった
396デフォルトの名無しさん
2025/07/09(水) 10:08:19.13ID:MuvaPJLR LLMで過学習…?
397デフォルトの名無しさん
2025/07/09(水) 10:36:50.67ID:1h9feY7y 391
x 間違って記憶している
o 円形脱毛症でハゲになった
x 間違って記憶している
o 円形脱毛症でハゲになった
398デフォルトの名無しさん
2025/07/14(月) 13:04:26.89ID:GLg5N4aG https://forest.watch.impress.co.jp/docs/news/2030817.html
「JScript」に代わり「JScript9Legacy」が既定のスクリプトエンジンに ~Windows 11 24H2以降で
「JScript」に代わり「JScript9Legacy」が既定のスクリプトエンジンに ~Windows 11 24H2以降で
399デフォルトの名無しさん
2025/07/15(火) 10:46:15.47ID:1v3q9PKm Windows11の24H2にしたらJScriptが動かない
https://blog.macorin.net/dos-not-work-jscript-on-windows11-24h2/
https://blog.macorin.net/dos-not-work-jscript-on-windows11-24h2/
400デフォルトの名無しさん
2025/07/15(火) 11:19:52.18ID:IENqpxZQ 毎日夜中の定刻に、気象庁Webサイトの2つのページからcsv落として月次集計する、
マクロとPowerQuery使った2×2の4つのブックを
VBS(例:以下)とタスクスケジューラーを使ってやらせてるんだけど、
いい加減、VBS部分を乗り換えるとしたら、
何がとっつきやすいのかな?
PowerShell?
PowerAutomate?
Python?
---例:DLブックを実行させるVBS---
Const WB_PATH = "E:\集計\01_DLファイル\DLブック_地点A.xlsm"
Const PROC_NAME = "DL_Ref"
Dim excelApp
Set excelApp = CreateObject("Excel.Application")
With excelApp
.Visible = False
Dim wb
Set wb = .Workbooks.Open(WB_PATH)
.Run wb.Name & "!" & PROC_NAME
.DisplayAlerts = False
wb.Close
End With
excelApp.Quit
マクロとPowerQuery使った2×2の4つのブックを
VBS(例:以下)とタスクスケジューラーを使ってやらせてるんだけど、
いい加減、VBS部分を乗り換えるとしたら、
何がとっつきやすいのかな?
PowerShell?
PowerAutomate?
Python?
---例:DLブックを実行させるVBS---
Const WB_PATH = "E:\集計\01_DLファイル\DLブック_地点A.xlsm"
Const PROC_NAME = "DL_Ref"
Dim excelApp
Set excelApp = CreateObject("Excel.Application")
With excelApp
.Visible = False
Dim wb
Set wb = .Workbooks.Open(WB_PATH)
.Run wb.Name & "!" & PROC_NAME
.DisplayAlerts = False
wb.Close
End With
excelApp.Quit
401デフォルトの名無しさん
2025/07/15(火) 11:31:18.20ID:izh84eSC >>400
**PowerShell**がおすすめです。
理由:
- VBSに最も近い書き方
- Excelの操作がそのまま使える
- Windowsに標準搭載
- 学習コストが低い
移行例:
```powershell
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false
$wb = $excel.Workbooks.Open("E:\集計\01_DLファイル\DLブック_地点A.xlsm")
$excel.Run("DL_Ref")
$wb.Close()
$excel.Quit()
```
PythonやPower Automateは学習コストか制約があるので、PowerShellが無難です。
**PowerShell**がおすすめです。
理由:
- VBSに最も近い書き方
- Excelの操作がそのまま使える
- Windowsに標準搭載
- 学習コストが低い
移行例:
```powershell
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $false
$wb = $excel.Workbooks.Open("E:\集計\01_DLファイル\DLブック_地点A.xlsm")
$excel.Run("DL_Ref")
$wb.Close()
$excel.Quit()
```
PythonやPower Automateは学習コストか制約があるので、PowerShellが無難です。
402デフォルトの名無しさん
2025/07/15(火) 11:33:01.33ID:l/eryieH vbsに近いならjsだろう
403デフォルトの名無しさん
2025/07/15(火) 11:52:00.35ID:1v3q9PKm PowerShellは遅くてびっくりするのと
COM(IDispatch)経由の操作なので基本的に書き方はvba/vbsを踏襲する
普通に使うと割とつまらない
COM(IDispatch)経由の操作なので基本的に書き方はvba/vbsを踏襲する
普通に使うと割とつまらない
404デフォルトの名無しさん
2025/07/15(火) 11:53:44.70ID:SjeLYLBh >>400
スレ違い
スレ違い
405デフォルトの名無しさん
2025/07/15(火) 13:45:04.50ID:IENqpxZQ >>401,403
ありがとう。やってみる。
ありがとう。やってみる。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【次の一手】台湾問題で小林よしのり氏が私見「まさに戦争前夜」「ただちに徴兵制を敷いて、高市支持者を最前線へ」… ★5 [BFU★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 [おっさん友の会★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
