Ever since the SharedWorkspace object was deprecated in Excel VBA, I have been unable to find an alternative way to perform the same tasks. Note Excel VBA is the only development tool that I have access to. I do have SharePoint Designer, though.
Did Microsoft provide anything to replace the functionality provided by the SharedWorkspace object?
Most of my tasks involve iterating through the documents in a document library. E.g., to see which ones were checked out, etc. That was trivial to do using the SharedWorkspace object. Can anyone tell me a way to do that using VBA without the SharedWorkspace object?
I've found that I can accomplish the task using the SharePoint Designer reference in my VBA code, but that requires me to open the SharePoint Designer UI, which takes too long for my needs. (Why doesn't the SharePoint Designer Application object have a visible property like the other Office apps do? That would have helped).
SharePoint offers a rich set of Web services to interface with content on a site. To iterate through all documents in a document library, you can use the GetListItems web service. This will require that you write code to call the web service. XMLHTTP is one "easy" way to do so. Please let me know if you need a code sample.
Related
I'm not sure whether "sideloading" is the correct term: Is therea an API to programatically install an Office Javascript API based add-in (e.g. a Task Pane app) in to the current / specific document on the desktop (at least on Windows)?
VisualStudio does this when you debug an App for Office project. How do I go about achieving the same?
There is no current way to programmatically insert an app (now "Office Add-in") into a document via JavaScript. It is a scenario that the product group is aware of, but it's not something we have yet.
You can insert an it via the Open XML SDK (which is actually how Visual Studio does this), but that would be .NET code running outside of the Office add-in (and not on the currently open document). Visual Studio in particular is atually inserting an app registered into the special local registry-based "Developer Store", but I can't think of any reason why wouldn't work for an actual Office-Store or SharePoint App Catalog-hosted app. If you are interested in going this route, let me know, and I might be able to find some pointers on the code you'd need to write.
Finally (though it probably goes without saying), you can insert an app into a Template, rather than a regular document. That way, anyone creating a document from that template would get your add-in -- I believe that's what the Paypal Invoicing add-in in Excel does, for example.
Hope this helps,
~ Michael Zlatkovsky, Developer on Office Extensibility team, MSFT
I know how to customize an instance of an email template using SharePoint Designer 2010, but when there are conceivably dozons of instances of an approval process it can be tedious to adjust each email template instance in turn.
Is there a way to customize the core templates upon which all these process emails are based? (so I only need to customize the email templace once)
Ideally I am looking for a code-free solution, but I'm willing to hear from both camps on this.
Thanks!
As far as I can tell this is not possible unless you are using SharePoint Designer or a custom coded solution.
I used http://www.everythingaccess.com/tutorials.asp?ID=Outlook-Send-E-mail-Without-Security-Warning , to finish my first ms access vba app that sends multiple notifications via outlook, without security pop-up. Now I want to make a WEB BASED version of it. So, using asp.net & mysql instead of vba & access raises certain questions.
When I comes down to it, what would be the difference of using (will post link below) vs installing VSTO runtime to run the outlook module I allready used in my first link?
Would you consider the "add-in" a more robust, integrated, easy approach since it seems I'd otherwise need to put the module of my first link in each users outlook install or am I just completely mistaken or is it a combination of both, please explain...
Click below for
2nd link of first post , outlook addin
I have a COM Outlook addin programmed in C++ (VS2005). I'm trying to see if within this addin I can get a random user or resource and see if it is available during a certain meeting time. Basically I'm trying to do something like getuseravailability() from the 2007 Exchange Web Service api listed below.
getuseravailability
Is this the only way to get this information? I've been looking through CDO, ADSI, MAPI and the Outlook object model but can't find anything else like it. I'm avoiding using web services because the Exchange Servers I run against may not have it enabled/ may not be Exchange 2007. And also, I'm hoping for a COM api easily integrated with the existing Outlook COM addin, was really hoping for an OOM solution.
Am I wrong or would the webservices sdk require .net to be installed on the machine running the addin as well?
I believe I've found a way to do this with CDO. Will be trying a sample app for this to see if it does what I think it does.
http://msdn.microsoft.com/en-us/library/ms870482%28EXCHG.65%29.aspx
I didn't find this earlier because the MSDN library's default view doesn't easily let you browse through the table of contents for a section. You have to go into MSDNs preferences and choose "Classic View" to get the table of contents view on the left.
we have a COM add-in that we use in MS Office application like Word and Excel.
That COM add-in has exposed few APIs to use, which we use for customization.
Problem is - Any user can access the APIs and that is causing security problems.
we dont want that to happen, we want to give access to VBA editor to only few peoples.
Is there any way - to disable VBA editor, without disabling VBA, because we want to use other Macros and Add-ins.
Thanks in advance!
PS - I tried hiding 'Developer' tab from toolbar but anyone who knows shortcut (ALT-F11), can still use it.
If one of the requirements of the COM Add-In is restricted access, the solution shouldn't be to disable anything than can access it. The answer should be to fix the add-in itself. An easy way to do it would be to define a user group that can use the add-in, and then just make the add-in check to verify the user is a member of that group. That should be simple to implement and simple to maintain.
The VBA Password Protection does not actually protect you from people reading the file. It's incredibly simple to remove the protection.
One alternative is to obfuscate the COM API as well as the VBA (so that, even if people can read the code, it would be difficult to figure out what's going on). Apple has done this in the past (e.g. isYoMamaWearsCombatBootsSupported -- https://github.com/JaviSoto/iOS7-Runtime-Headers/commit/6ccf9c4526992fec0dc414d48e4a3f7446e9822f#L10R61)
Can't you add a password to view/edit code? then at least they can't see your api and should prevent them from opening the editor.
Right click the project in the VBA project window and select 'properties' to add a password to that project in the Protection tab.