Application.PasteSourceFormatting 方法 (Project)
粘贴报表或形状的副本,其中副本保留源的格式。
语法
expression。 PasteSourceFormatting
expression:表示 Application 对象的变量。
返回值
Boolean
如果粘贴成功,则为 True;否则为 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 方法Shape.Copy 方法PasteDestFormatting 方法PasteAsPicture 方法
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。