Report.SelectionRTF

Returns/sets the selected (rich-text formatted) text within the report.

Syntax Parameters Return/assignment value
- - String

Remarks: Documentation for RTF (Rich Text Format) is available online.

SVB Example

Adding formatted headers to a report:

Option Explicit
Option Base 1
Sub Main

    Dim newanalysis As Analysis
    Set newanalysis = Analysis (scBasicStatistics, Application.Open(Application.Path & "\Examples\Datasets\Cat Clinic.sta"))

    With newanalysis.Dialog
        .Statistics = scBasDescriptives
    End With

    newanalysis.OutputOption.ReportPlacement = scAnalysisReport
    newanalysis.OutputOption.SupplementaryInfoLevel = scInfoLevelNone

    newanalysis.Run

    With newanalysis.Dialog
        .Variables = "3 6 9"
        .PairwiseDeletionOfMD = True
        .DisplayLongVariableNames = False
        .ExtendedPrecisionCalculations = False
        .PlotMedianQuartileRange = False
        .PlotMeanSEAndSD = False
        .PlotMeanSD196TimesSD = True
        .PlotMeanSE196TimesSE = False
        .UserDefinedPercentiles = False
        .ValidN = True
        .Mean = True
        .Median = False
        .Mode = False
        .GeometricMean = False
        .HarmonicMean = False
        .ConfLimitsForMeans = False
        .Sum = False
        .StandardDeviation = True
        .Variance = False
        .StandardErrorOfMean = False
        .MinimumMaximum = True
        .LowerUpperQuartiles = False
        .Range = False
        .QuartileRange = False
        .Skewness = False
        .Kurtosis = False
        .StandardErrorOfSkewness = False
        .StandardErrorOfKurtosis = False
        .UseNumberOfIntervals = True
        .NumberOfIntervals = 10
        .NormalExpectedFrequencies = False
        .KSAndLillieforsTestForNormality = True
        .ShapiroWilkWTest = False
        .ConfidenceIntervalForMeansPlot = 95
        .CompressedStemAndLeaf = False
    End With

    Dim rpt As Report
    newanalysis.RouteOutput(newanalysis.Dialog.Summary).Visible = True
    Set rpt = newanalysis.RouteOutput(newanalysis.Dialog.Histograms).Report

    Const REPORT_HEADER As String = _
        "Weight Analysis for 1998-2000"
    Const HISTOGRAM1_HEADER As String = _
        "Weight Histogram (1998)"
    Const HISTOGRAM2_HEADER As String = _
        "Weight Histogram (1999)"
    Const HISTOGRAM3_HEADER As String = _
        "Weight Histogram (2000)"

    'set the selection of the report to the beginning
    of the document and then add our header to it
    rpt.SetSelection(1,1)
    rpt.SelectionText = REPORT_HEADER & vbCrLf

    'Next, we will insert some text above the first graph.
    'To do this, we will step over the embedded spreadsheet
    'and the text that we just inserted and set the selection
    'to be right above the graph. Call SetSelection again with
    'the length of the text that we just inserted (including the carriage return after it).
    'We must also add another 2 to that so that we can step over the
    'embedded spreadsheet and the carriage return after it.
    'Add these lines of code to move the selection above the first graph and to add a title above it
    Dim TotalSizeOfInsertedText As Long
    TotalSizeOfInsertedText = Len(REPORT_HEADER & vbCrLf)
    rpt.SetSelection(TotalSizeOfInsertedText+2, _
        TotalSizeOfInsertedText+2)
    rpt.SelectionText = vbCrLf & HISTOGRAM1_HEADER

    'Repeat this for the other graphs
    TotalSizeOfInsertedText = TotalSizeOfInsertedText + _
        Len(HISTOGRAM1_HEADER & vbCrLf)
    rpt.SetSelection(TotalSizeOfInsertedText+4, _
        TotalSizeOfInsertedText+4)
    rpt.SelectionText = vbCrLf & HISTOGRAM2_HEADER

    TotalSizeOfInsertedText = TotalSizeOfInsertedText + _
        Len(HISTOGRAM2_HEADER & vbCrLf)
    rpt.SetSelection(TotalSizeOfInsertedText+6, _
        TotalSizeOfInsertedText+6)
    rpt.SelectionText = vbCrLf & HISTOGRAM3_HEADER

    rpt.SetSelection(1,1)
    'add some space at the top of the report for our title
    rpt.SelectionText = vbCrLf & vbCrLf
    rpt.SetSelection(1,1)

    'Add a formatted header to the report
    rpt.SelectionRTF = _
        "{\rtf1\ansi\ansicpg1252\deff0\deflang1029" & _
        "{\fonttbl{\f0\fnil\fprq4\fcharset0 Arial;}}" & _
        "{\colortbl ;\red0\green64\blue64;}" & _
        "\uc1\pard\cf1\lang1033\ul\b\f0\fs22 " & _
        "Weight Report (" & Trim(Str(Date)) & ")}"

End Sub