• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VB2008 DataGridViewからエクセルに貼り付けるとエクセルが落ちます)

DataGridViewからエクセルに貼り付けるとエクセルが落ちる!対処法は?

AKARI0418の回答

  • AKARI0418
  • ベストアンサー率67% (112/166)
回答No.1

>DataGridViewの値をExcelにコピペしようとすると文字化けしてしまうのですが, 皆さんどうのように対処してらっしゃいますか??? VB.NET上で扱われているデータはUnicodeですが、ExcelはShift-Jisだからです。 DataGridViewの値をExcelにコピペしようとすること自体やったことがありません。 コピペするくらいでしたら、Excelにそのまま出力してしまったほうが早いからです。 DataGridViewの値をExcelにコピペしなければならない理由がないのでしたら、直接Excelに出力するか、CSVファイルとして出力することをお勧めします。

camputer
質問者

お礼

AKARI0418様 どうもありがとうございます.  社内で皆のエクセルデータ作成を補助するアプリを作成しております. エクセル出力の方向もありなのですが,既存エクセルファイル保護と 作業の手間を懸念している次第でございます. ・(既存データ保護のため)DataGridView上でコピーできないようにする ・データコピーしたい際のみ,ボタンか何かを押してもらいその都度作成した エクセルファイルを開いてもらいコピペしてもらうよう作業徹底する. 作成したファイルは毎回削除してもらう. とするのが手間なので,何かよい方法は無いものかなー?と探しております.  ご親切にアドバイスいただきどうもありがとうございました.

関連するQ&A

  • Excel2000での形式を指定しての貼り付け

    VB2005からExcel2000の新規ファイルへクリップボードにある値を貼り付けたいのですが、すべての値をテキスト形式(文字列?)で貼り付けたいのです。 貼り付ける値 コード    名称 001      hoge1 002      hoge2 貼り付けた後のExcelの見た目 コード    名称 1       hoge1 2       hoge2 上記のようになってしまうので、コードがExcel上では数値?扱いになってしまいます。Excel2007では、PasteSpecial(Format:="Unicode テキスト")でテキスト形式で貼り付けて問題はなかったのですが、Excel2000で同じ処理をすると、コードの001が1となってしまうのです。 Excel2000でExcel2007のようなPasteSpecial(Format:="Unicode テキスト")の貼り付けのやり方は、どのようなコードを記述すれば良いのでしょうか? 開発環境 OS:Windows XP SP2 VB:2005 Excel:2000

  • Excel VBA 値の貼り付けとUnicode テキスト貼り付け

    クリップボードの内容(数値もしくは文字列)を貼り付ける際、 アクティブなセルに値もしくはUnicodeテキストとして 貼り付けるコードを書こうとしています。 コピー&ペーストする内容は1つのセルだったり、複数のセル範囲だったり、 はたまたExcel以外のアプリケーションからのコピーだったりします。 それぞれについては下記のように書けば希望通りになるのですが どちらであっても対応できるよう、 両方の機能を一つのプロシージャでまとめることは可能でしょうか? ■エクセルシート上の値(セルや範囲)からの貼り付け Selection.PasteSpecial Paste:=xlValues ■外部ファイル(HTMLなど)からのUnicodeテキスト貼り付け ActiveSheet.PasteSpecial Format:="Unicode テキスト" これらは「マクロの記録」を参考にしたものですが、 Rangeオブジェクト用とWorksheetオブジェクト用に分かれているので クリップボードの種別判定?やエラー判定?のようなif文等による 何らかの分岐が必要なのかなと思い、自分なりに調べてみましたが、 具体的な方法がわからず困っております。 どちらにも対応できるコードにするにはどうすれば良いでしょうか? どうぞよろしくお願いいたします。

  • office2013でテキストがビットマップに

    エディタなどのテキスト文字をクリップボードにおさめて、エクセルやoutlookなどのoffice2013に貼り付けようとするとビットマップになっておりテキスト文字として貼り付けられません。 先にエクセル等を起動しておいてから、クリップボードにおさめると文字として貼り付けられます。先にクリップボードにおさめることが多いため不便でしかたありません。 以前のバージョンではこのような問題はおきませんでした。2013特有の問題なのでしょうか。 検索等で色々と調べても類するコメントがみつからないということはマシン固有の問題なのかもしれませんが、officeを再インストールしてもなおりませんでした。 なにかいいヒントがあったら教えてください。 なお、クリップボードに納めたものをエクセルの右クリックで「形式で貼り付け」をしようとすると「テキストで貼り付け」はなく「ビットマップ」のみしかありません。 (Windows7)

  • EXCELからのコピペで

    VISTAでWINDOWSメールを使っています。 症状は、メール作成時にEXCEL2007のHTMLではない普通のテキスト文をコピペすると、 何故か5、6文字ぐらいで改行され、テキストボックスの状態て貼り付けられてしまいます。 ちなみに同じテキスト文章を、一度メモ帳にペーストしてからWINDOWSメールにペーストすると、 上記のような症状は出ませんので、今は面倒でもそうしています。 WEBの文章のコピペも大丈夫なのでどうやらEXCELの設定に問題でもあるのでしょうか? WINDOWSメール側は「形式を選択して貼り付け」コマンドは出ないので、困っております。

  • HTMLのソースをエクセルに貼り付ける方法

    HTMLのソースを、そのまま(メモ帳表示データのまま)Excelに貼り付ける方法はありますか。 メモ帳でソースの表示をして、全て選択→コピー→Excelに型式を選択して貼り付け→テキスト で貼り付けてみましたが、変なフォーマットで表示されます。 セルの書式を文字列にしても同じです。 目的はExcelの文字列操作で特定の文字だけ拾い出して加工しようと考えています。 OS:Win95、Excel2000です。

  • Html(表)のExcel出力

    現在、JavaScriptで以下の処理を行い、Htmlで書かれた 表をExcelで表示しています。 1.Htmlをクリップボードにコピー 2.new ActiveXObject("Excel.Application")でExcelインスタンスを 生成 3.Workbooks.Openでワークブックをオープン 4.オープンしたワークブックにクリップボードのHtmlを貼り付けて表示 以上の処理を、クリップボードを経由せず、Htmlで書かれた表をExcelに 表示することはできますか? お心当たりのある方はご教示お願いします。

  • Html(表)のExcel出力

    現在、JavaScriptで以下の処理を行い、Htmlで書かれた 表(<table>タグで囲まれている)をExcelで表示しています。 1.Htmlをクリップボードにコピー 2.new ActiveXObject("Excel.Application")でExcelインスタンスを 生成 3.Workbooks.Openでワークブックをオープン 4.オープンしたワークブックにクリップボードのHtmlを貼り付けて表示 以上の処理を、クリップボードを経由せず、Htmlで書かれた表をExcelに 表示することはできますか? お心当たりのある方はご教示お願いします。

  • Excelマクロ、セル内容を加工してクリップボードに送りたい

    Excelマクロの質問です。 セル自体は加工せず、 セルの内容を加工してクリップボードに送りたいです。 たとえば、セルの内容が、 8540 として、 クリップボードには、 今日の出費:8540円 という文字列を送りたいです(それをテキストエディタにコピペしたいのです) セルの内容は8540のままいじらないで済む方法を探しています。 よろしくお願いします

  • エクセル上でセルのコピーペーストが出来ません。。。

    エクセル上でセルのコピーペーストが出来ません。。。 どなたかご教示いただけますと助かります もう何年もエクセルを使用していて始めての経験なのですが 私は毎日仕事でエクセルにて表を作成しております その作業中に過去と同じデータも頻繁に出てくるのでそういった場合は いくつかのセルをでコピペして使用してます (同じフォーマット上に同じセル数で) ところが最近その作業をする際にコピー元のデータのセルを纏めてコピーして コピー先に貼り付けようとすると貼り付けの表示が出ず貼り付けが出来くなることが頻発してます 他のソフト(メーラーやメモ帳)や同じエクセル上でもテキストだけのコピペは出来るのですが セルの貼り付けが出来ないようです もっと細かく言うと通常はセルをコピーするとその選択中は選択されたセルが点線でくくられ点滅しておりますが一瞬点滅した後通常の状態に戻ってしまいます ですので選択されていない状態に戻ってしまうので貼り付けが出来ないようです 更に言うとクリップボードを表示すると上記状態にもかかわらず一応ボード上にはコピー選択したセルの内容が書き込まれそれを選択すると一応コピーは出来ますのでなんとか仕事はこなせます ですが普通のいわゆるセルのコピペが手軽に出来なくて非常に困っております 本当にここ1週間くらいから頻発するようになった不具合です PC、ソフト再起動後などでは出来たりすることもあり、なんだか設定とかの問題でもないような気がします もちろんそんな特殊な設定をいじったつもりもありません 一応自動修復というのもかけてみましたが変わりません なんだかよく分からない状態です これが出ると作業が全くはかどらなくなりかなり困ってます ちなみに使用環境はVISTA(BUISINESS)のSP2というOS上でエクセル2003です どなたたかご教示いただけますと幸いです 宜しく御願い致します

  • VB 2005 リッチテキストボックス 文字選択

    Visual Basic 2005 Express Editionを使っています。 趣味程度以下のレベルです。よろしくお願い致します。 質問の内容は、リッチテキストボックスの内容を選択(反転表示)して クリップボードに記憶させるコードを知りたいのです。 今、作っているのは、 Formの真ん中に、大き目のリッチテキストボックスを配置して 下にボタンを3つ配置しています。 ボタン1は (1)テキストボックスに"c:\mail\aaa.txt"を表示する。 (2)Cドライブのmailフォルダからaaa.txtをリッチテキストボックスに表示。 TextBox1.Text = "c:\mail\aaa.txt" RichTextBox1. LoadFile(TextBox1.Text, RichTextBoxStreamType.PlainText) と言うふうにしています。 同様に、ボタン2は bbb.txtをリッチテキストボックスに表示、 ボタン3はccc.txtをリッチテキストボックスに表示するようにしています。 使用方法としては、取引先とメールのやり取りを行う際に、 メールのパターンが3種類あって、これまでは、aaa.txtをメモ帳で 開いてはコピペしてメーラーに貼り付け。bbb.txtをメモ帳で開いては メーラーに貼り付け。を繰り返していました。 クリップボードに記憶させるのは、 Clipboard.SetDataObject(RichTextBox1.SelectedText) で、うまく行きましたが、クリップボードに記憶させる文字の選択は 手動でやっています。 また、文字の選択というのは、リッチテキストボックスに表示された、 文字を抜き出して選択するわけではなくて、表示されている全てを 選択(反転文字)にしたいのです。 わかりにくい説明で申し訳ありませんが、よろしくお願い致します。