VBA(Microsoft Excel)でのカメラの使用
_ExcelTips_の他の号では、カメラツールを使用してワークシートのさまざまな部分の動的な写真をキャプチャする方法について学習します。 VBA内から同じ種類の機能を使用する方法を疑問に思っているかもしれません。
この問題に関するドキュメントはそれほど明確ではありませんが、次のマクロは一般的なプロセスを示しています。
Sub DoCamera() Dim MyPrompt As String Dim MyTitle As String Dim UserRange As Range Dim OutputRange As Range Application.ScreenUpdating = True 'Prompt user for range to capture MyPrompt = "Select the range you would like to capture." MyTitle = "User Input Required" On Error Resume Next Set UserRange = Application.InputBox(Prompt:=MyPrompt, _ Title:=MyTitle, Default:=ActiveCell.Address, Type:=8) If UserRange Is Nothing Then End On Error GoTo 0 'Copy range to Clipboard as picture UserRange.CopyPicture 'Prompt user for range to paste to MyPrompt = "Select the range on which you would like to paste." MyTitle = "User Input Required" On Error Resume Next Set OutputRange = Application.InputBox(Prompt:=MyPrompt, _ Title:=MyTitle, Default:=ActiveCell.Address, Type:=8) If OutputRange Is Nothing Then End On Error GoTo 0 'Paste picture to output range OutputRange.PasteSpecial Selection.Formula = UserRange.Address End Sub
このマクロは、コピーする範囲を指定するように求め、次にそれを画像としてクリップボードにコピーし、貼り付ける場所を尋ねます。
貼り付けると、マクロの最後の行は、カメラツールを使用して手動で行うのと同じように、「写真」を動的にするための鍵となります。 PasteSpecialコマンドは実際に画像を貼り付け、貼り付けられた画像は選択されたままになります。選択範囲(画像)のFormulaプロパティを設定すると、グラフィックが動的になります。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(2207)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。
link:/ excelribbon-Using_the_Camera_in_VBA [VBAでのカメラの使用]
。