How to create a program on top of Visio? - automation

Is it possible to make a standalone/independent (from visio) program that is built on visio. Say, can i attach some of the design templates and visio drawing page on to my form??
Thanks

Visio supports VBA. With that, you can add all kinds of interactivity to your document.
And, you can embed visio in another program with the activex control.
Both of these methods require visio to be installed on the machine (if that's what you were getting at by the "independent" comment).
The Visio Viewer may or may not install the activex control or support VBA, I don't know.

There's a value stream mapping tool called SigmaFlow VSM that is an application built on Visio like you want to make. Basically the tool loads up Visio and strips out a lot of the Visio toolbars and puts their own UI in. Obviously it requires you have Visio installed.
There's a similar tool called eVSM that leaves the Visio UI in place, but provides a toolbar and templates and stencils for the purpose of building value stream maps.
I prefer the eSVM approach, where you end up giving the user the full ability to do whatever they want within Visio, while making the very specific task of Value Stream Map diagram creation easy.

Related

VBA, Active X and Legacy Tools alternatives in word

I currently have a 4 page document that has a lot of active x control boxes with VBA controlling it. This document is housed in a third party application to allow us to record information that stays within a record in that application.
After a recent upgrade to the application I have been informed that it will no longer support documents using Active X or Legacy controls. I have recreated one of the shorter documents using content control and VBA. Are there any tools to convert the document I currently have? or what are the best alternatives to active X and the background controls?
I hope that makes sense
You've found the best alternative in Content Controls. Most Content Controls are compatible with Office back to the 2007 version. They also work in Word for Mac 2016 and 2019. I haven't heard of any utilities that can automatically convert ActiveX controls to Content Controls. The VBA is quite different between the 2 control types, so you'll definitely have some re-writing to do.
Here is Microsoft's page about using Content Controls with VBA: Working with Content Controls
In addition, there are resources like Greg Maxey's pages about Content Controls and VBA: Content Controls

GUI automation of program with changing menu options

I'm looking to automate software on Windows 2008. The automation software doesn't have to be Windows 2008 compatible (I can use remote desktop).
The GUI has two main areas, a list of embedded images on the left, and a display pane on the right. The display pane shows where all the embedded images have been placed on the screen (the program is used for building Human Machine Interfaces [HMI's]).
I need to click each of the embedded images in the list on the left and extract some data from them. The problem is; depending on main display file chosen, the list of embedded images will have different names and be of different lengths.
The automated task therefore changes depending on main display image file opened. Is there an automation program that can be customized for this? I could write separate scripts for each main display file but this defeats the purpose of automating. I looked into Sikuli, AutoIt, pywinauto and others, but have not found examples of what I'm trying to accomplish.
AutoHotkey can do what you're asking for with little difficulty.
You can use some basic OOP principles to write one program that has different clicking locations etc. based on which display file you're running.

Placing a bitmap into a Powerpoint Add-In

All:
I am writing a PowerPoint add-in that will allow a user to drop specific safety related images onto a map. I've written the code that copies the images and places them on the slide and I would like to place it into an add-in. Unfortunately, I cannot find a way to either:
a) place the images into the add-in
b) reference images if I were able to place them in the add-in
The alternative approach is to require the user to start with a special template that includes all of the images and then load the add-in to get the menu functionality. I would much rather have a single file that contains both the code and bitmap images.
With best regards,
Walt
PPA files contain only code, not presentation content like images. As an alternative, you could distribute a PPT/PPTX that you open invisibly and extract the image you need.
After quite a bit of looking around I found a solution that resolves the problem adequately. Using Microsoft's Custom UI Editor, I created an XML entry in the PowerPoint Presentation that performs the Auto_Open function that would have been part of the Add-In. This allows me to add the menu functions that will be responsible for loading the specific images.
I've added a reference page at the beginning of the presentation that contains instructions on how to use the template... This page also contains all of the images that are used by the visual basic code. The 'Visible' flag on these images are set to False so the user does not see them. As they are copied from the reference page into the presentation, the Visible flag is set to True and they are pasted onto the current slide.
It is not a perfect solution, but it is adequate...

How do I style a word document exported from a webpage in VB.Net

I'm trying to export text retrieved from a database into a word document in VB.Net and while I have a working example, I need to figure out how to style some sections of the document appropriately.
I have found a few working examples from MS Online resources (such as this one), which I've found can cover some basics:
para.Range.Text = "Quad Chart"
para.Range.Style = "Heading 1"
para.Range.Bold.Font = True
But it doesn't cover even some of the simplest of formatting such as:
How you align the text (left, right, center)?
How you specify letting?
How do you start a list style?
What I'm trying to find is either a straight answer to these or (even better), a definitive list of the commands that would allow most any formatting.
Also, I would prefer not using Spire, which seems to be a common answer.
Thanks!
The VBA object model describes all the classes, their methods and properties that you can use for the marking up of content.
Your suggestion to use styles is strongly recommended as a way of separating your code from the presentation. Create a document template (.dot or .dotx, depending on Word version) and attach this to your documents. Then, when the document is opened, it will inherit layout and presentation from the template and be correctly rendered.
The list creation is a little intricate as you will need to restart the list if you are using numbering.
If you are interested in a completely different approach, you can look at Applying an XSLT Transform in the Microsoft Office Word 2003 XML Software Development Kit. This describes how to generate XML documents and using XSL transforms to describe the presentation. More general, but definitely more complex to set up.
Your preferred approach will depend on whether you want to generate native documents with a template, or to require your users to install the transform using the tools in the SDK.
So, you have a few examples. Office VBA is a cut down version of VB6, so why not record some macros in Word, open the VB editor and look at what it does. It's also the easiest way to navigate the help on the Word object model.

Cocoa API to extract data from a Microsoft PowerPoint presentation

Is there any API available in Cocoa(not COCOA-Touch) for a MAC OS based app that can extract data from a Microsoft PowerPoint presentation?
I need it for a Mac OS X-based application in which I need to read the contents of a presentation.
I need to extract the slides and template separately. Specifically, I need to:
Extract slides as images.
Extract the template as a separate PowerPoint template file.
Extract only the text in the slides.
I have done lot of googling, but found only that Applescript can interact with it. But it opens the presentation and then only it interacts with the presentation.
If there’s no API available, then what could be the best way to do this?
All Microsoft Office apps have an AppleScript interface that allows at least some access to the documents' inner structures. I have no experience with PowerPoint, but Excel works fine.
You can google for Microsoft AppleScript Reference.