Método Application.PasteSourceFormatting (Project)
Pega una copia de un informe o una forma, donde la copia mantiene el formato del origen.
Sintaxis
expresión. PasteSourceFormatting
expresión Variable que representa un objeto Application.
Valor devuelto
Boolean
True si el pegado se realiza correctamente; De lo contrario, False.
Ejemplo:
En el ejemplo siguiente se copia el informe de costos integrado, se crea un informe personalizado, se pega el informe copiado en el nuevo informe mediante el formato de origen y, a continuación, se cambia el nombre del título del informe.
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
Vea también
Método CopyReportShape.Copy MétodoPasteDestFormatting (métodoPasteAsPicture)
Soporte técnico y comentarios
¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.