• 締切済み

VBAのテキスト貼り付けするプログラム

VBAについて質問です。 テキスト貼り付けするプログラムをショートカットとして登録したいです。 今までは、以下のコードを割り当てていましたが、問題が発生しました。 Selection.PasteAndFormat (wdFormatPlainText) まず、Boldの文字を上記のコードで貼り付けると、Boldを保ったまま貼り付けられます。Boldもクリアして貼り付けたいです。また、クリップボードになにも値が入っていない場合に、上記のコードを流すとエラーが発生します。 これらの問題を解決したコードを教えていただけませんでしょうか? よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

細かい点のことなので、間違いがあればすみません。 例 語句 おおきな池 「おおき」の3文字にBoldを設定。 ーーー (操作) この部分を選択しておいてCTRL+cーー>コピー操作です (プログラムの実行) (1) Sub テキストのみ貼り付け_PasteSpecial() Selection.PasteSpecial DataType:=wdPasteText End Sub (2) Sub テキストのみ貼り付け_PasteSpecial2() Selection.Paste End Sub (1)を実行 Boldは外れる。 (2)を実行 そのまま貼り付けされる(Boldのまま)

全文を見る
すると、全ての回答が全文表示されます。
  • NuboChan
  • ベストアンサー率47% (750/1592)
回答No.1

エラーを無視 Sub MyPaste() On Error Resume Next Selection.PasteAndFormat (wdFormatPlainText) End Sub

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

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

  • Excel VBAで値貼り付けのプログラムを教えて

    Excel VBAで値貼り付けのプログラムを教えてください。

  • 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

  • VBA クリップボード

    エクセル2003で、 offiseクリップボードにある全項目を“全て貼り付け”して、 その後 offiseクリップボードにある全項目を“全てクリア”したいのですが、それをVBAで書けませんか? どうしてもお願いします。 ちなみにパソコンは素人です

  • エクセル2007 値の貼り付けができない

    ショートカットキーで値のみ貼り付けを設定しています。 WEBのリンク付きテキストをコピーしてセルに貼付けようとしたら、 ショートカットのアイコンがグレー表示で使えません。 altを押し、ショートカットコマンドの割り当てを調べて実行したのですが、値のみ貼り付けができません。 セルを右クリックして、形式を選択して貼り付けからテキストを 選択すると貼り付けできるのですが。。。 WEBのテキストにリンクがついているので、テキストだけ貼り付けたいのですが、ショートカットの値のみ貼り付けは使えないのでしょうか?

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

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

  • Word2007で、VBAから貼りつけたテキストを選択状態にする方法

    Word2007で、VBAから貼りつけたテキストを選択状態にする方法 Word2007で下記のような自動処理のマクロを作りたいのですが、 (2)で貼り付けたら、カーソルが貼りつけ文字の後ろにあり、貼りつけられた文字列は選択されていない状態です。 (3)の書式設定をするには、(2)で貼りつけた文字列を選択状態にしなければならないと思うのですが、良い方法をご存じないでしょうか? フィールドとして入力されている部分(選択範囲)を (1)切り取り:Selection.Cut (2)テキストとして貼り付け:Selection.PasteSpecial DataType:=wdPasteText (3)その部分に、アンダーラインやBoldなどの適当な書式を設定 よろしくお願い致します。

  • Excel VBA クリップボードの画像貼り付け

    こんにちは。 Excel VBAで次のようなことをしたいのですが、少し特殊な手順のため皆様のお知恵とお時間をお貸しいただけないでしょうか。 以下の作業をVBAで自動化したいと考えています。 ①クリップボードの画像を貼り付け  画像サイズを1.8cm×1.8cmに変更し、画像右角がセル『T66』に合うよう貼り付け位置を調整する ②これをExcelファイルの全てのワークシートに行う  (ワークシートのファイル名はすべて異なる) 作成したレポートに電子印を押印するのに、かなり時間がかかっているのでVBAで自動化したいと考えている次第です。 『パソコンに保存された画像』ではなく『クリップボードの画像を貼り付け』で自動化できれば、かなり時間短縮できるので上記の手順にてVBAを組んでいただけないでしょうか。 何卒、ご協力をお願い致します。

  • access2000 vba の テキストイベント取得

    access2000 vbaで、プログラムを組んでいます。 画面にテキストボックス1と、表(あるテーブルの内容をあらわしているもの)があります。 [初心者でこの表のうまい言い方がよくわかりません・・] テキストボックス1は、プロパティの、データ/コントロールソースが、あるテーブルのコードになっています。 このテキストボックス1は表のレコードを選択することにより、内容が変わります。(選択したレコードの、コード値になります。) ここで、テキストボックス1の値が変化したときに、イベントを発生したいのですが、なかなかできません。 change,afterupdateではだめでした。 うまくつたわらないかもしれませんが、手入力以外による値の変化は、テキストボックスイベント検知はできないものでしょうか。

  • EXCEL(VBA)でシート保護がかかったシートにクリックボードから貼り付けしたい

    EXCEL2000のVBAで、クリップボードにコピーしたデータ(複数のセル範囲)を、シート保護がかかった別のシートにコピーする操作を行ないたいと考えています。 手順としては「1.クリップボードにコピー」→「2.シート保護解除」→「3.貼り付け」→「4.シート保護」なのですが、下記マクロを作成して試してみたところ、2.のシート保護解除を行なった時点でクリップボードが空になるようで、「実行時エラー'1004':RangeクラスのPasteSpecialメソッドが失敗しました。」と表示され貼り付けができません。 これについて何か回避策はないでしょうか? Range("A1:C3").Select Selection.Copy Sheets("貼り付け先シート").Select ActiveSheet.Unprotect Range("A1").Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Application.CutCopyMode = False ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True 以上、よろしくお願いします。

このQ&Aのポイント
  • エアコンプレッサーに装着するためのタップを選ぶ際には、ネジピッチやネジ山の種類に注目する必要があります。
  • ネジピッチで検索すると、R/1/4やW1/4などの異なる選択肢が表示され、混乱してしまいます。
  • MonotaROを利用する場合、以下のリンクから適切なタップを購入することができます。
回答を見る

専門家に質問してみよう