This documentation is archived and is not being maintained.

CreateURL Method [Visio 2003 SDK Documentation]

Office 2003

Returns a fully qualified and optionally canonicalized representation of the hyperlink's absolute address.

strRet = object.CreateURL(intExpression)

strRet     String. A fully qualified URL representation of a hyperlink.

object     Required. An expression that returns a Hyperlink object.

intExpression     Required Integer. True (non-zero) if canonical form; otherwise, False (0).

Version added



The CreateURL method of the Hyperlink object can be used to resolve relative URLs against a hyperlink's base address.

When you use the canonical form, the CreateURL method applies URL canonicalization rules to the hyperlink. Only spaces are URL-encoded during canonicalization. Port 80 is assumed for HTTP URLs and is removed during canonicalization. For example, the URL "" is returned as "", whereas" is unchanged.


Here are some examples of results of the CreateURL method:

Address = "" 
CreateURL(False) returns "" 

Address = "C:\My Documents\Spreadsheet.XLS" 
CreateURL(False) returns "file://C:\My Documents\Spreadsheet.XLS" 
CreateURL(True) returns "file://C:\My%20Documents\Spreadsheet.XLS"

Relative path example:

Assume : Document.HyperlinkBase = ""
Address = "../file.htm" 
CreateURL(False) returns ""

The following example shows how to use the CreateURL method to resolve relative URLs against the base address of a hyperlink. Before running this macro, replace drive\folder\subfolder with a valid file path on your computer, replace address with a valid Internet or intranet address, and replace drawing.vsd with a valid file on your computer.

Sub CreateURL_Example() 

    Dim vsoShape As Visio.Shape 
    Dim vsoHyperlink As Visio.Hyperlink
    'Draw a rectangle shape on the active page 
    Set vsoShape = ActivePage.DrawRectangle(1, 2, 2, 1) 

    'Add a hyperlink to a shape 
    Set vsoHyperlink = vsoShape.AddHyperlink 

    'Allow relative hyperlink addresses 
    ActiveDocument.HyperlinkBase = "drive:\folder\subfolder" 

    'Return a relative address 
    vsoHyperlink.Address = "..\drawing.vsd" 

    'Print the resulting URLs to the Debug window 
    'to show how the relative path is derived 
    'from the base path and the difference 
    'between canonical and non-canonical forms 
    Debug.Print vsoHyperlink.CreateURL(False) 
    Debug.Print vsoHyperlink.CreateURL(True) 

    'Return an absolute address 
    vsoHyperlink.Address = "http://address" 

    'Print the resulting URL to the Debug window 
    Debug.Print vsoHyperlink.CreateURL(False) 

End Sub  

Applies to | Hyperlink object