@634

oo4o - クリップボードに結果を転送する

Advertisement

CopyToClipboard

OraDynasetにはExcel専用メソッドCopyToClipboardが用意されています。このメソッドを使用すると現在OraDynasetに格納されている問い合わせ結果を一括してクリップボードに転送することができます。

一般的に、取得した行数が多い場合はカーソルで一行ずつループするより、一括してクリップボードにコピーすることができるCopyToClipboardメソッドを使用したほうが処理が速くなります。

書式
OraDynasetオブジェクト.CopyToClipboard _
    [コピーする最大行数], [列区切り文字], [行区切文字]

サンプルコード
Private Sub CommandButton1_Click()
    Dim OraSession As Object
    Dim OraDatabase As Object
    Dim OraDynaset As Object

    On Error Resume Next
    Set OraSession = CreateObject("OracleInProcServer.XOraSession")
    Set OraDatabase = _
        OraSession.OpenDatabase("sampleDB", "scott/tiger", 0)
    If Err.Description <> "" Then
        MsgBox Err.Description, vbOKOnly + vbCritical, "接続エラー"
        Exit Sub
    End If

    Set OraDynaset = OraDatabase.CreateDynaset("SELECT * FROM emp", &H0&)
    OraDynaset.CopyToClipboard

    ThisWorkbook.ActiveSheet.Cells(1, 1).Select
    ActiveSheet.Paste

    If Err.Description <> "" Then
        MsgBox Err.Description, vbOKOnly + vbExclamation, "エラー"
        Exit Sub
    End If

    Set OraDynaset = Nothing
    Set OraSession = Nothing
    Set OraDatabase = Nothing
End Sub

Advertisement

ショートカット

634
634ブログ
このカテゴリのトップページに戻る
Incubator(Pukiwiki)
634ラボ
   UIコレクションギャラリー
   ZO-3ジェネレーター

サイト検索


Y!ログール