For my life, I've been searching and crying, then searching again. Can't find it! According to Microsoft's own information, the default for zooming is highly cumbersome combination of alt+F6 and shift+alt+F6.

How can I set my own?!
Can I set my own to begin with...?

  • autohotkey.com – Ƭᴇcʜιᴇ007 Jan 8 '14 at 16:25
  • @techie007 Not sure if I got you correctly. I'm not trying to set hot keys in Windows nor can I install some third party utility. I'm looking strictly to change the keys in Visio 2013 so that I can e.g. tell a non-technical person over the phone where to click and how to do that. Is that doable?! If you know that it isn't (or even if you're uncertain), feel welcome to post comments as a reply so I can accept that as an answer. – Konrad Viltersten Jan 8 '14 at 18:57
  • Those are comments as to possible solutions. I'm not sure (off-hand) if Visio supports custom macros/shortcuts. Someone else may know for sure, and post an actual answer. ;) – Ƭᴇcʜιᴇ007 Jan 8 '14 at 19:08
  • @techie007 Post them as a reply anyway, please. I don't like leaving unanswered questions. :) – Konrad Viltersten Jan 8 '14 at 19:13

Unfortunately, as of Visio 2013, Visio does not allow you to assign custom keyboard shortcuts.

Note: After further review, the following workaround does not help, since the shortcut key only works in the Visio file that has the macro saved in it.

One workaround for this is to record a macro and assign a keyboard shortcut to the macro when recording it. So let's say we want to use CTRL+u for ungrouping shapes in addition to the default CTRL+SHIFT+u. You can record a macro ungrouping some grouped items and assign the CTRL+u keyboard shortcut to the macro when recording it. After recording the macro, edit the macro and delete all the lines except for the lines below. If the selected shapes are not grouped, running this macro would cause an error. So add "On Error Resume Next" to cause the error to be ignored.

Sub Ungroup()
   On Error Resume Next
End Sub

However, when you record a macro it is saved in one specific Visio file and the keyboard shortcut will only work when that file is open. In Word, you can simply save your favorite macros in a Word file and place the file in Word's Start-up folder. Unfortunately, you cannot open a Visio file (.vsd) or Visio template (.vst) by copying it to Visio's Start-up; only EXE or DLL files work in the Start-up folder.

In order to have the Visio load the file that contains your macro and keyboard shortcut when Visio starts, do the following:

  1. Install AutoIt.
  2. Write an AutoIt file with one line that opens the Visio file that contains your macros. The file must be a text file with a .au3 extension. Here is an example of the one line:
    Run ("C:\Program Files (x86)\Microsoft Office\Office14\VISIO.EXE C:\Visio Templates\MyMacros.vsd")
    The above Run command has one parameter. This parameter contains the path to the Visio program followed by a space, followed by the path to the Visio file that you want to open.

  3. Close the AutoIt file.

  4. Right-click on the file and select Compile Script. An EXE file is created.
  5. Define a Start-up folder location in Visio (File>Options>Advanced>File Locations). Make sure there are no spaces in the path of the Start-up folder.
  6. Copy the EXE file to the Start-up folder. Note that only the EXE file must be in the Start-up folder. The Visio file that your opening can be anywhere on the computer.

Now every time you open Visio, Visio will run the EXE, which will open the Visio file containing your macros.

  • That's one awesomely formulated answer. I'm not using Visio anymore (question asked 18 months ago, hehe). But I'll surely have to use it again on the next project so the info is pure gold. +1, of course. – Konrad Viltersten Sep 10 '15 at 16:20

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.