WordやExcelで特殊な貼り付けのショートカット?
フォーマットなしで貼り付けたい場合、リボンの「貼り付け」ボタンから「特殊な貼り付け」をクリックして「フォーマットなしのテキスト」をクリックしなければならないのですが、「フォーマットなしのテキスト」をクリックしても「フォーマットなしのテキスト」が表示されないのです。
Ctrl+Vのようなショートカットで自動的にやってくれるものはないのでしょうか?
フォーマットなしで貼り付けたい場合、リボンの「貼り付け」ボタンから「特殊な貼り付け」をクリックして「フォーマットなしのテキスト」をクリックしなければならないのですが、「フォーマットなしのテキスト」をクリックしても「フォーマットなしのテキスト」が表示されないのです。
Ctrl+Vのようなショートカットで自動的にやってくれるものはないのでしょうか?
私はちょうどWord 2013とExcel 2013では、キーボードからすべての"Paste Special“オプションにアクセスする簡単な方法があることを発見しました。以下の例では、テキストとして貼り付ける方法を示しているだけです(フォーマットを貼り付けずに)。
何かをコピーした後、貼り付けたい場所に移動します(フォーマットを貼り付けずに)。CTRL+V(フォーマットも一時的に貼り付けられます)、次にCTRL(コントロールキーを押しながら離す)、次にT(最後のTは「テキストのみを保持する」という意味です)。
何かをコピーした後、貼り付けたい場所に移動します(フォーマットを貼り付けずに).CTRL+V(フォーマットも一時的に貼り付けます)、次にCTRL(コントロールキーを押して離す)、次にV(最後のVは "値を貼り付ける "を意味します)。
最後の文字を入力する前にsecondのCTRLキーを離すことが重要です。
この方法では、キーボードを4回打つだけで、マクロを使用せず、ダイアログウィンドウでマウスを使用する必要はありません。
これはないと思いますが、マクロを作成することで作成できるという朗報です。
マクロを記録して、好きなようにペーストしてからキーボードショートカットに割り当てるか、新しいマクロに以下の内容を入れる(フォーマットなしでペーストしたい場合を想定)。
Selection.PasteAndFormat (wdFormatPlainText)
MS Excel 2010 の場合。
ActiveSheet.PasteSpecial Format:="Unicode Text", Link:=False, _
DisplayAsIcon:=False, NoHTMLFormatting:=True
繰り返しになりますが、マクロを保存したら、キーボードショートカット(例:ctrl + m)に割り当てる必要があります。
追記: MS Word 2002:
Sub PastePlaintext()
Selection.PasteSpecial Link:=False, DataType:=wdPasteText
End Sub
テキストのみを保持」をデフォルトにしたい場合は、以下のようにします。
1.デフォルトの貼り付け:
上部のドロップダウンをクリックして「その他のコマンド」を選択します。
詳細設定:
デフォルトの変更(テキストのみを保持する):
同じ貼り付けを繰り返すと、デフォルトはテキストのみになります:
参考になると思います!
Wordの場合は、デフォルトの設定を変更して(上図のように)、設定が希望通りになるようであれば、良い選択肢のように思えます。しかし、Excelの場合は、代わりに右クリックを使用することをお勧めします。
マクロの追加には、いくつかの重大な問題があります。
1) デフォルトのテンプレートを変更しない限り、新しいドキュメントでは失われます。
2) デフォルトテンプレートを変更してワークブックを共有する必要がある場合、ファイルを受け取った人にセキュリティ警告…. が表示され、恐らくパニックになるでしょう。
その他のキーボードオプションは、多くのキーストロークを必要とします。さらに、Webページから貼り付けている場合、ExcelやWordはHTMLの変換に時間がかかります。
右クリックすると貼り付けオプションが表示され、ここでプレーンテキストオプションを選択することができます。
キーボードショートカットが内蔵されていればいいのですが、私には右クリックが最良の選択肢のように思えます。
この関数はすでに存在しています。
Word 2007-2013(もっと前かもしれませんが、覚えていません)では、お好みのキーボードショートカットをコマンドにバインドすることができます。Word 2013では、
キーコンボが使用されている場合、"Current keys “ボックスの下に "Current assigned to: xyz "と表示されます。そして、最初に選んだショートカットをそのまま使うか(ショートカットは PasteTextOnly を起動し、xyz を起動しなくなります)、別のキーコンボを使うかを決めることができます。
簡単な方法があります。ちょうどAlt+Eを押して、SとV.あなたは確かにあなたの多くの時間を節約するでしょう、はるかに簡単にダイアログボックスを取得します。
Excelでは、貼り付けたいセルの上でF2を押し、CTRL+Vを押すだけです。
Word 2007-2013では、ALT + CTRL + Gを押して、Tを押して、Enterキーをクリックする必要があります。
フォーマットされていないテキストが貼り付けられます。
注意: フォーマットされたテキストを誤ってペーストしてしまった場合は、すべて選択して Ctrl + Space キーを押して「通常の」フォーマットにリセットしてください。
オブジェクトとテキストの両方をExcelに貼り付け、元に戻すオプションを付けるには、
' Custom data type for undoing
Type SaveRange
Val As Variant
Addr As String
End Type
' Stores info about current selection
Public OldWorkbook As Workbook
Public OldSheet As Worksheet
Public OldSelection() As SaveRange
'----------------------------------------------------------
Sub PasteValues()
' Set shortcut to Cntl+Shift+V, for example
' Works for Outlook and Chrome AND Excel
' Abort if a range isn't selected
If TypeName(Selection) <> "Range" Then Exit Sub
' The next block of statements
' save the current values for undoing
ReDim OldSelection(Selection.Count)
Set OldWorkbook = ActiveWorkbook
Set OldSheet = ActiveSheet
i = 0
For Each cell In Selection
i = i + 1
OldSelection(i).Addr = cell.Address
OldSelection(i).Val = cell.Formula
Next cell
' Start paste function
On Error GoTo ValuesFail
' Works for Excel and Outlook, but not Chrome
Selection.PasteSpecial Paste:=xlValues
' Specify the Undo Sub
Application.OnUndo "Undo the macro", "UndoMacro"
Exit Sub
ValuesFail:
On Error GoTo TextFail
' Works for Outlook and Chrome, but not Excel
ActiveSheet.PasteSpecial Format:="Text"
' Specify the Undo Sub
Application.OnUndo "Undo the macro", "UndoMacro"
Exit Sub
TextFail:
On Error GoTo PasteFail
ActiveSheet.Paste
' Specify the Undo Sub
Application.OnUndo "Undo the macro", "UndoMacro"
Exit Sub
PasteFail:
MsgBox "Complete Failure"
End Sub
'----------------------------------------------------------
Sub UndoMacro()
' Reinstates data in the selected range
' Tell user if a problem occurs
On Error GoTo Problem
Application.ScreenUpdating = False
' Make sure the correct workbook and sheet are active
OldWorkbook.Activate
OldSheet.Activate
' Restore the saved information
For i = 1 To UBound(OldSelection)
Range(OldSelection(i).Addr).Formula = OldSelection(i).Val
Next i
Exit Sub
' Error handler
Problem:
MsgBox "Can't undo macro"
End Sub
'----------------------------------------------------------
Sub RevertFile()
' From http://www.excelforum.com/showthread.php?t=491103
wkname = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
ActiveWorkbook.Close Savechanges:=False
Workbooks.Open Filename:=wkname
End Sub
From https://acquirements.wordpress.com/2017/02/07/excel-paste-special-macro-shortcut-key-for-both-objects-and-text/ を使用します。