貼上一份報告或圖形的副本,該副本保留原始格式。
語法
expression。 PasteSourceFormatting
expression 代表 Application 物件的變數。
傳回值
布林值
如果膏狀物成功,則為真;否則,則為 False。
範例
以下範例複製內建的成本報告,建立自訂報告,並利用原始格式將複製的報告貼上到新報告中,然後重新命名報告標題。
Sub CopyCostReport()
Dim reportName As String
Dim newReportName As String
Dim newReportTitle As String
Dim myNewReport As Report
Dim oShape As Shape
Dim msg As String
Dim msgBoxTitle As String
Dim numShapes As Integer
reportName = "Task Cost Overview" ' Built-in report
newReportName = "Task Cost Copy 2"
msg = ""
numShapes = 0
If ActiveProject.Reports.IsPresent(reportName) Then
ApplyReport reportName
CopyReport
Set myNewReport = ActiveProject.Reports.Add(newReportName)
PasteSourceFormatting
' List the shapes in the copied report.
For Each oShape In myNewReport.Shapes
numShapes = numShapes + 1
msg = msg & numShapes & ". Shape type: " & CStr(oShape.Type) _
& ", '" & oShape.Name & "'" & vbCrLf
' Modify the report title.
If oShape.Name = "TextBox 1" Then
newReportTitle = "My " & oShape.TextFrame2.TextRange.Text
With oShape.TextFrame2.TextRange
.Text = newReportTitle
.Characters.Font.Fill.ForeColor.RGB = &H60FF10 ' Bluish green.
End With
oShape.Reflection.Type = msoReflectionType2
oShape.IncrementTop -10 ' Move the title 10 points up.
oShape.Select
End If
Next oShape
msgBoxTitle = "Shapes in report: '" & myNewReport.Name & "'"
If numShapes > 0 Then
MsgBox Prompt:=msg, Title:=msgBoxTitle
Else
MsgBox Prompt:="This report contains no shapes.", _
Title:=msgBoxTitle
End If
Else
MsgBox Prompt:="No custom report name: " & reportName, _
Title:="ApplyReport error", Buttons:=vbExclamation
End If
End Sub
另請參閱
CopyReport 方法形狀。複製方法PasteDest格式化方法PasteAsPicture方法
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。