OLE Automation basics with Perl - perl

I'm new with this Perl Win32::OLE automation. I have been reading and trying out some examples. I have a few questions (excuse me if i'm using incorrect terminologies - do correct me):
Can OLE be used to automate Visual
Studio 2005? I only found examples
with Word, Excel and IE. How do
you know which app can be used?
How do I get the name of the program ID
to be used. For instance, "Excel" in
Win32::OLE->new('Excel.Application')
How do I get the available functions
for each programs. For instance,
Workbook, only can be used with
Excel, not Word.
Thanks for your time :)

The Win32::OLE documentation provides a rudimentary starting point.
As for your questions:
I do not think VS 2005 provides an OLE automation interface.
See this post on PerlMonks.
An excellent source of information for Microsoft Office applications is the Object Browser. You can access it via Tools -> Macro -> Visual Basic Editor. Once you are in the editor, hit F2 to browse the interfaces, methods, and properties provided by Microsoft Office applications.

Typically, the OLE automation model is up to the software you are trying to automate. You can usually figure it out by looking at the documentation, for example for the Microsoft products it will be in MSDN. For Visual Studio and the Office tools, you can also use the macro recorder to help figure out the syntax, since you can record a script that does vaguely what you want and then modify it.
Also, Visual Studio comes with the tool called "OLE/COM object viewer" (Oleview.exe) which can be used to open and read the type libraries for some target software. The type library is usually contained within a .tlb or .dll file and contains the more or less full description of the OLE Automation types defined for the application. You can look at the .idl thus reverse engineered and try to figure out what kind of things are possible.

To get a brief overview and introduction I would suggest looking at this The Perl Journal #10. Created by Jan Dubois.
Also here are some examples, if you havn't stumbled across it yet Examples
Hope it helps

Related

Creating complex Office 365 documents in VS Code

I have a web application that creates complex Office documents in Excel, Word, and PowerPoint; and I need to convert the application from Visual Studio to Visual Studio Code. The previous application uses the Microsoft Office Interoperability Assemblies to generate and manipulate the documents. So far I haven't found any comparable interface or extension for Visual Studio Code. Can someone point me to a possible solution?
You can use the same technique even in VSCode. It allows adding COM references to projects, see Adding Microsoft.Office.Interop.Excel to VS Code for more information.
The previous application uses the Microsoft Office Interoperability Assemblies
Office Automation is used for dealing with Office applications locally. If you are moving the code to VSCode you may also consider using the Open XML SDK instead, of course, if you deal with open XML documents only. Read more about that in the Welcome to the Open XML SDK 2.5 for Office article. Also you may take a look at any third-party components that don't require Office applications installed on the system.

Version Control System for Dynamics CRM 2011/2013

I have started using Git for my other development projects (PHP, HTML, JavaScript, etc.) and can now see how beneficial it is, however I've been unable to find anything similar for Dynamics CRM 2011/2013 as a lot of the solution development is done within the web interface.
I'm guessing this is not possible, but could someone with more experience than me please confirm this or let me know which tools I should be looking into?
Thanks
You can use the Visual Studio Developer Toolkit available in the SDK to version control your plugins and web resources initially. I'd recommend this as your first step.
If you choose to take it further you can also look at using the SolutionPackager tool to version control your solutions. This will split out your solution zip file into separate version controllable files for each component. It works best when you follow the developer workflow outlined in the linked MSDN article

Do Microsoft employees use Visual Source Safe (VSS)?

Microsoft has always been adamant about their use of "dogfooding" in the software development process, and it's made tools like Excel and Visual Studio work pretty well. My question is this: Do Microsoft employees use VSS? Have they ever used it? If not, what do they actually use? It seems to be such a flawed, inadequate version control system that I can't imagine that a competent developer would put up with it!
See the following links for details:
http://www.highprogrammer.com/alan/windev/sourcesafe.html
http://www.developsense.com/testing/VSSDefects.html
http://www.codinghorror.com/blog/2006/08/source-control-anything-but-sourcesafe.html
I believe that nowadays most of the groups either do currently use or are migrating to Team Foundation Server.
It's not clear to me that Microsoft has ever come out and described in detail the tools they use, but I have heard in some deep, dark corners of the internet that the large teams (Windows team, Office team, etc) have, for a long, long time, used what is essentially a custom version of Perforce for version control. I have been led to believe that some teams have (attempted to) made use of SourceSafe, but it's never been widespread there.
They use Teamserver for source control (or so I was told whilst attending a visual studio event at the Reading campus)

How to extend windows explorer functionality?

How would I go about extending the functionality of windows explorer in XP?
Is there some way whereby I could create a "plugin" of some sorts that could hook into explore.exe to add additional folder browsing functionality? What language could I use to achieve this?
This is an expansion of a question I asked here.
There's a great series of tutorials on CodeProject which might help you. C++ is required there.
There is an old O'reilly book called 'Visual Basic Shell Programming' that explains the API's for this in some detail. While taken from a VB6-centric point of view, the API's are all exposed through COM, so they can be used from any language that supports this. This article discusses using the windows shell with .Net and a tool to build an interop assembly.

How do I create an OLE Control?

Without going into why I need OLE.. I need to embed a managed C++ custom control into MS Word 2007 (2003 also would be nice).
So the question is How do I make this managed (.net 3.5) control OLE compliant ?
It seems that I need to do something akin to implementing an interface. But an up-to-date tutorial is something that is proving difficult to find.
I've read the wikipedia article on OLE. All the information that I could google out is ancient (1994) and/or VB centric (4.0-6.0). Anything that makes sense to current times... links/books please post.
Thanks for reading..
Andrew Whitechapel writes about managed controls as ActiveX controls in Office documents. You can read his article here: http://blogs.msdn.com/andreww/archive/2008/11/24/using-managed-controls-as-activex-controls.aspx.
Update: See also this related question.