次の方法で共有


Reports.Copy メソッド (Project)

カスタム レポートをコピーし、同じ内容の新しいレポートを作成します。

構文

コピー (ソースNewName)

'Reports' オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
Source 必須 バリアント型 コピーする レポート の名前またはレポート オブジェクト。
Newname 必須 String 新しいレポートの名前。
Source 必須 バリアント型
Newname 必須 String

戻り値

Report

新しいレポート。

CopyAReport マクロは、コピーする指定されたレポートが存在するかどうかをチェックし、新しいレポートが既に存在するかどうかを確認します。 次に、マクロは Source パラメーターのいずれかのバリアントを使用してレポートのコピーを作成し、新しいレポートを表示します。

Sub CopyAReport()
    Dim reportName As String
    Dim newReportName As String
    Dim newExists As Boolean
    Dim oldExists As Boolean
    Dim report2Copy As Report
    Dim newReport As Report
    
    reportName = "Table Tests"
    newReportName = "New Table Tests"
    oldExists = ActiveProject.Reports.IsPresent(reportName)
    newExists = ActiveProject.Reports.IsPresent(newReportName)
    
    Debug.Print "oldExists " & CStr(oldExists) & "; newExists " & newExists
    
    If oldExists And Not newExists Then
        Set report2Copy = ActiveProject.Reports(reportName)
        
        ' Use either of the following two statements.
        'Set newReport = ActiveProject.Reports.Copy(report2Copy, newReportName)
        Set newReport = ActiveProject.Reports.Copy(reportName, newReportName)
       
        newReport.Apply
    End If
    
    If (oldExists = False) Then
         MsgBox Prompt:="The requested report to copy, '" & reportName _
            & "', does not exist.", Title:="Report copy error"
    ElseIf newExists Then
        MsgBox Prompt:="The new report '" & newReportName _
            & "' already exists.", Title:="Report copy error"
    Else
        MsgBox Prompt:="The new report '" & newReportName & "'" _
            & vbCrLf & "is copied from '" & reportName & "'.", _
            Title:="Report copy success"
    End If
End Sub

関連項目

Reports オブジェクトレポート オブジェクト

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。