Powershell Scripting : Merge Visio Document into word Document using nothing but powershell.

ITguy565 used Ask the Experts™

I have a need to insert a visio document into a word document programmatically what is the easiest way to do this?

A snippet of my code is as follows:

#Create word Instance
$merged_Object = ""|TitleHeadingBar
$Merged_Object.TitleheadingBar = "Test"
$Word = New-Object -ComObject Word.Application
#Make Word Visible
$Word.Visible = $True
#Create Blank Document
$Document = $Word.Documents.Add()
#Create Selection object
$Selection = $Word.Selection

#Alignment Options:
$Alignment = ""|Select Center,Left,Right
$Alignment.Center = "1"
$Alignment.Left = "0"
$Alignment.Right = "2"

#Create Content
$Selection.ParagraphFormat.Alignment = "$($Alignment.Center)"
$Selection.Font.Bold = 1
$Selection.Font.Italic = 1
$Selection.Font.Underline = 1

Open in new window

I Thought I might be able to do the following, but it fails with


Open in new window

Word has encountered a problem.
At line:1 char:1
+ $selection.InsertFile("C:\worddoc\wordmerge\Drawingvsdx.vsdx")
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [], COMException
    + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Top Expert 2008

Open in new window

or if you want the insertion to be linked to the Visio file

Open in new window

Thanks for the answer. It worked more efficiently than what I had come up with..

here was the answer I arrived at:

$visio = new-object -ComObject visio.Application
    $visio.Visible = $False
    $visioDoc = $visio.Documents.open("C:\worddoc\wordmerge\Drawingvsdx.vsdx")

    $pagobj = $visiodoc.Pages
    #$pagobj = $visiodoc.Page

    foreach ($pagobj in $pagobj){
        $ActivePage = $pagobj.Name
        write-host "$activepage"
        #Paste Clipboard into word

        #Exit Visio Application

        #Insert Page Break

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial