Changing "Object" to "Sldworks.Sldworks" is called "early binding". Basically, it means that you're telling the program what type of object swApp is going to be. It helps a bit with resources, and it also gives you the pop-up list of what methods, properties, etc are available for that type of object when you type the "." after the variable name. Using the Public changes the scope of the variable. Check VBA help for variable scope to get more information on this one. It does a better job of explaining than I could.