質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

Q&A

解決済

3回答

7861閲覧

Excelからテキストエディターに複数のセルをまとめてコピペしてダブルクォーテーションがつかないようにする方法を教えて下さい。

h-o

総合スコア134

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

0グッド

0クリップ

投稿2017/04/26 04:32

###詳細
以下の画像のようなHTMLを部分的に複数のセルにわけたExcelのデータからテキストエディター(coditor)に複数のセルをまとめてコピペして以下のようなHTMLの文字列を取得したいのですが、実際にはExcelからコピペすると自動的にダブルクォーテーション(以下、")が追加されて以下のようなコードが生成されてしまいます。
自動的に"がつかないようにするにはどうすればよいでしょうか?
ついてしまった"をまとめて削除する方法でも結構です。

現状は、テキストエディタのまとめて置換する機能で不要な"を削除していますが、条件を変えて複数回、置換える必要があるため上記の質問をさせていただければと思います。

【Excelのデータ】
イメージ説明

【生成したいコード】

<!-----------------------------------------商品01-----------------------------------------> <tr> <td width="50%" style="padding:5% 1.5% 2% ;"> <!------商品情報------> <!------ link------> <a href=" https://wonect.com/sg/orihiro-high-purity-glucosamine-360-tablets.html " target="_blank" style="text-decoration: none; font-size:14px; color:#555;"> <table width="100%" style="box-shadow:none;"> <tr align="center"> <td colspan="2" style="padding:0 5%;"> <p style="border:none; background-color:#fff; margin:0; padding:0; overflow:hidden;"> <!------ 画像 ------> <img src="https://wonect.com/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/4/5/4571157256283.jpg " border="0" width="100%"></p></td> </tr> <tr> <td colspan="2" style="padding:0;"> <p class="item-name" style="height:48px; text-align:center; text-overflow:ellipsis; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin: 0;text-decoration: none; font-size:16px; font-weight:bold;color:#222;"> 〜 以下省略 〜

【ダブルクォーテーションがついてしまうコード】

<!-----------------------------------------商品01-----------------------------------------> <tr> <td width=""50%"" style=""padding:5% 1.5% 2% ;""> <!------商品情報------> <!------ link------> <a href=""" https://wonect.com/sg/orihiro-high-purity-glucosamine-360-tablets.html """ target=""_blank"" style=""text-decoration: none; font-size:14px; color:#555;""> <table width=""100%"" style=""box-shadow:none;""> <tr align=""center""> <td colspan=""2"" style=""padding:0 5%;""> <p style=""border:none; background-color:#fff; margin:0; padding:0; overflow:hidden;""> <!------ 画像 ------> <img src=""" https://wonect.com/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/4/5/4571157256283.jpg """ border=""0"" width=""100%""></p></td> </tr> <tr> <td colspan=""2"" style=""padding:0;""> <p class=""item-name"" style=""height:48px; text-align:center; text-overflow:ellipsis; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; margin: 0;text-decoration: none; font-size:16px; font-weight:bold;color:#222;""> 〜 以下省略 〜

###やってみた解決策
・CLEAN関数を使って""がつかなくする方法:"はつかなくできたが目的のHTMLが生成できないかった
・一度wordにコピペしてからテキストエディタにコピペする方法:改行の"がなくなったがまだ不要な"がつく

何か不明点等ありましたら追記いたします。よろしくご教授お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

コピーして貼り付けたときに、HTMLとして成立していればいいのですよね。

コピーする前にExcelで、"(ダブルクォーテーション)を '(シングルクォーテーション)に置換すればいいでしょう。
それから、コピーしてエディターに貼り付けて、先頭と最後の " を削除すればHTMLとして使えます。
HTMLでは、" と ' は同じ意味になりますので。

" で統一したいということなら、エディタの置換で、' を " に置換すればいいでしょう。

投稿2017/05/15 01:15

hatena19

総合スコア33715

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

h-o

2017/05/15 06:48

VBA、マクロを勉強不足な私にもできる解決策を誠にありがとうございます。 他のことにも利用できそうな方法で大変助かります。
guest

0

小手先であれこれやるよりか、VBAでやった方が早いかと思います。
簡単に作ってみましたが、coditor(?)というものは使ったことがないので、貼り付けた後に正しく動くかはわかりません。
とりあえず各セルに"は付けず、タブ区切りにしてあります。
実行するにあたり、「Microsoft Forms 2.0 Object Library」を参照設定する必要があります。
詳しくはこちら。
https://www.moug.net/tech/exvba/0150091.html
実行手順として、まずシートの方でコピーする範囲を選択してください。
そのあと、VBAで下記関数を実行してください。

VBA

1Sub cp() 2 csv = "" 3 For r = Selection(1).Row To Selection(Selection.Count).Row 4 For c = Selection(1).Column To Selection(Selection.Count).Column 5 If c <> Selection(1).Column Then 6 csv = csv & vbTab 7 End If 8 ' 改行コードを削除しない場合 9 csv = csv & Cells(r, c).Value 10 ' 改行コードを削除する場合 11 ' vbLfで削除されない場合は、vbCrLfやvbCrをお試しください。 12 'csv = csv & Replace(Cells(r, c).Value, vbLf, "") 13 Next 14 csv = csv & vbCrLf 15 Next 16 With New MSForms.DataObject 17 .SetText csv 18 .PutInClipboard 19 End With 20End Sub 21

投稿2017/04/26 05:03

ttyp03

総合スコア16998

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

h-o

2017/05/12 04:36

回答をいただき誠にありがとうございます。 ただVBAの使い方を検索してみましたがどう使うのかわかりませんでした。
ttyp03

2017/05/12 04:42

ここではあまり詳しくは書けませんが、開発メニューからVisualBasicを開いて、対象シートのコードウィンドウに上記のコードを貼り付けて、回答に書いた手順通りに実行してください。 と書いても、実行って?ってなるかと思いますので、「excel vba 使い方」などで検索してみてください。
h-o

2017/05/12 04:55

ありがとうございます。 やってみます。
guest

0

セル内改行がある場合、ダブルクォーテーションが付与されます。
改行が必要であれば、置換を使い修正していくことになると思います。

マクロ機能の使えるテキストエディタであれば、複数回の置換パターンを記録して一度で済ますこともできます。
少し前の記事ですが参考になると思いますのでこちらをご覧ください。
ええかげんブログ-サクラエディタ(Sakura Editor)のマクロ生成の方法と保存

投稿2017/04/26 05:07

dit.

総合スコア3235

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dit.

2017/04/26 05:21

macOS環境がないのでCotEditorは試していませんが、マクロ組めそうですね… https://coteditor.com/
h-o

2017/05/10 04:09

回答をいただき誠にありがとうございます。 教えていただいたリンクも読ませていただきましたが、マクロの書き方自体がわからないため書き方の参考になる記事などありましたらご教授いただけますでしょうか? 返信が遅くなり申し訳ありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問