Visual Studio CorelDraw Addons Template + Setup creator(VS2019)

Former Member
Former Member

HI, i shared my CorelDraw Addons Template for Visual Studio 2015,2017, i use community version and template saves a little of my time, for X7 or heigher templates.

Source Code "CorelDraw Addons Template":

VSIX Download "CorelDraw Addons Template":

Now, i shared too my setup creator 

VSIX Download "CorelDraw Addons Packer" :

This vsix contains the follow commands for visual studio 2019 only:

1- Muiti Guid Generator, locates in Main Menu -> Tools

The next commands will display only after a CorelDraw Addons Solution is fully loaded

2- Packer/Setup Creator button, locates in Standards Tool Bar before Redo button, works only in projects create using "CorelDraw Addons Templates" version 2.500

The last commands is locate in Solution Explorer Context Menu in a Sub Menu called "CDR Addons Tools"

3- Update CorelDraw Paths, this command will update all reference to coreldraws assemblies paths, this will help in projects migrations to others dev machines,

In version 2,500 of "CorelDraw Addons Templates" then paths is stored in target file

4- Open CDR Addon Folder, this command open file explorer in addon folder of current current Solution Configuration (X7,X8,2017...)

5- Delete Workspace and Run, this command will delete workspace file and run the project of current Solution Configuration, is recommended make a workspace backup, reset workspace is necessary always happens a edition in "UserUI.xslt" file.

6-Manage Configuration, this command opens a form to select Solutions Configurations, the packer/setup produced by command "2" will permits only installation in version of coreldraw corresponding of your Solution Configurations, for exemple: 

To create a setup to coreldraw X8 only, you need marks only X8 configurations

To create for all supported version you need marks all configurations

Feel free to criticize and suggest!

  • Sorry for the thread necromancy, but I wanted to sincerely thank you for making this.

    I had built a docker way back in X6, but had not done anything with them for a long time and about a week ago when I was looking for the way to do it Oberon Place was down so no decent tutorial was available.

    I tried your template and it turned out being so much easier, as it does the integration for you and you can start working on the design right away. Can forget the clumsy HTML-based interface approach and the awkward xslt integration of the past. So super-big thanks for this. 

    But I also had a question. Being so deeply rooted in VBA I may be missing something in VB (I'm using Visual Basic for the docker), but is it assumed that if one wants to work with CorelDRAW directly from the docker and not just send commands to a VBA macro that's already present one has to use the corelApp component for every single request?

    Say, if I had this code in VBA:

    ActivePage.Shapes.All.Move -ActivePage.SizeWidth * 2, 0

    It becomes:

    corelApp.ActivePage.Shapes.All.Move(-corelApp.ActivePage.SizeWidth * 2, 0)

    And, of course, this is a single line of code, but then would I actually need to fully "corelApp" prefix all of the code I'd like to transplant or is there a more elegant solution?

    The reason I don't want to just call VBA macros is that some often heavy shape processing is taking place and it is quite useful to have a progress display and also the ability to cancel the processing.

    Also, thinking about performance - would it be way slower to do the processing (basically tens of thousands of commands) in the docker code itself or that should not matter, whether it's "classic" VBA or code coming from a docker?

  • And, of course, this is a single line of code, but then would I actually need to fully "corelApp" prefix all of the code I'd like to transplant or is there a more elegant solution?

    did you try to write like that -


    corelApp.ActivePage.Shapes.All.Move(-corelApp.ActivePage.SizeWidth * 2, 0)


    With corelApp.ActivePage

        .Shapes.All.Move(-.SizeWidth * 2, 0)

    End With