General Visio question

X

XP

I and my org are new to VISIO; my forte is VBA programming primarily in
MS-Excel, but I also use MS-Access a lot and I also am coming up to speed
rapidly using VBScript.

Question: Is it possible to program VISIO in combination with Excel and/or
Access so that given VISIO org charts (for each department/division), users
could make edits and when done, their changes could be captured and written
into a spreadsheet or DB table using VBA (i.e. automated data capture)?

The type of information to capture would be: Employee Name; Department;
Subdivision; Answers To (based on structure of org chart); Pay Grade; Title;
Employee Status (i.e. Full/Part time; temp; etc.).

I picture this info in a box for each employee on a separte org chart for
each Dept. and/or Subdivision. Is this a realistic goal? Or would this be a
very difficult/impossible task?

The main problem I see is parsing the information as it is captured from
each box; e.g. where does the Division name end and the Job Title begin, etc?

Thanks much for your input.
 
J

John Marshall, MVP

Simple answer is yes.

The two keys things to be done when working with other Office products are
to: Add a reference for the application (This is in VBA under the Tools
menu) and make sure your references are fully qualified.
Excel and VIsio both have Cell objects.

To mine the information, you need to walk the shape collection and pull out
the information. For each shape, you can use the Connection collection of
the shape to determine who they are connected to.

http://visio.mvps.org/VBA.htm may have some code examples to get you
started.

John... Visio MVP

Need stencils or ideas? http://visio.mvps.org/3rdparty.htm
Need VBA examples? http://visio.mvps.org/VBA.htm
Visio Wishlist http://visio.mvps.org/wish_list.htm
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top