Concat function not available in office 2016 professional - excel

I'm working on a spreadsheet that I created on a different machine with an install of office 2016 version 1701. I'm running 2016 professional version 1707.
Many of the new functions won't work, for example Concat.
I've tried updating my install but it appears to have the most recent updates.
Any ideas why I wouldn't have access to the most recently released functions?

Those new functions are only available in subscription versions of Excel (i.e. you need an Office 365 subscription), and are not the 2016 versions. So if you want something equivalent, you've got to use a UDF. Here's a link to a Concat UDF I wrote some time back. You can also no doubt find equivalent UDFs for the other new features that aren't in your non-subscription version via Google.

Related

Excel Custom Function not supporting in Other Office versions

I have created an excel custom function in SharedRuntime. I have used JavaScript 1.1 version and SharedRuntime 1.1 version. My custom function is working fine in office 365, but it's not working in offices 2013, 2016, and 2019.
I don't know why this is happening. Can anyone tell me where I am doing a mistake.
The shared runtime may not be supported on older Office versions. You can check out the minimum Office versions in the Shared runtime requirement sets section.

How wide is the excel interop api support?

I'm using the Excel Interop API for manipulating excel sheets, because this seems to be the best api for using formulas.
My question is that how wide is the support for this API?
For example if someone who has an older or newer version of Microsoft Office than me, will they be able to use the software?
I'm using it with Office 365.
My question is that how wide is the support for this API?
For example if someone who has an older or newer version of Microsoft Office than me, will they be able to use the software?
The answer is yes, your software can be run with different Office versions. You just need to make sure methods and properties exist in the installed version by checking the host version and making a decision to call a particular method or property introduced in recent versions.
So, I'd suggest using the lowest version of interops libraries which corresponds to lowest Office version supported by your software. By using lowest interop version you can be sure that you deal with properties and methods available in all Office versions and no exceptions will be thrown at runtime.
If you need to use methods and properties available in latest Office versions you may consider using the late-binding technology available in .Net applications with System.Type.InvokeMember method. Read more about that in the Supporting several Office versions in an add-in. Interop assemblies and late binding. article.

Using Microsoft (Office) 365 tools in Visual Basic 6.0

I'm developing an application written in Visual Basic 6.0 that supports exporting listViews to Microsoft Excel documents. Everything works perfectly fine if a user has an older version of Microsoft Office installed.
Now I want to add support for users who only have Microsoft/Office 365 on their systems. I've googled my way into depression in the past couple of days because I don't know much (or anything really) about dll/ocx files or registries. I'm not even sure if something like this can even be done because VB6 is really old, as noted here.
I've tried using this approach, but it didn't help me.
Right now, I'm getting a 429 runtime error
ActiveX Component can't create object
on line
Set objExcel = CreateObject("Excel.Application")
I only have Microsoft 365 trial version (no older ones) installed on the system and have these two things checked in my references:
I've also tried searching for Excel.Application in the registry, as suggested here, but I can't find the path to the corresponding ActiveX file (which probably means it is not registered if I understand this correctly).
What can I do? Any help would be greatly appreciated.
Never mind, I found the answer myself. The problem was that I had older Office versions installed when I installed new 365 package and for some odd reason the .dll files for 365 version weren't registered. When I deleted those older versions all the working .dll files were gone with them.
I did a repair of the 365 installation and it's working perfectly now.

Testing office-js addins against old versions of excel

I'm developing an office-js addin for corporate client which insists on using legacy versions of Excel (1708 or 1808).
But when I install excel from office 365, I get version 1906.
In the old days, with software, there were installers you could find in a directory that had version stamps on them, and you could create a VM, and just install the version you wanted. But the fancier installers appear to download stuff automatically and always (at least default to) the latest versions.
How do I install a legacy version of Excel on a VM for testing?
There's no special process for getting an earlier version when you are testing add-ins. It should be the same process as an end user would use. Please try the steps at this article: Revert to an earlier version of Office. I think you can find the build numbers that you will need either from your customer or from this page: Update history of Office 365.

Library Reference Issues, VBA Excel 16.0, Project 14.0

My client recently migrated from 32-bit Excel 2016 to 64-bit Excel under Office 365 and retained 32-bit MS Project Standard 2010.
I have VBA code native to MS Project Standard 2010 which manipulates the Excel 2016 Application by early binding via the Excel 16.0 Object Library reference. Following migration of Excel to the Office365 64-bit version the library reference to it (in MS Project Standard 2010) is no longer available. It is not MISSING it is just not available in the list. It won't even load by GUID. I don't have admin rights and can't inspect or edit the registry. My IT support explained that the issue is probably because we are mixing 32-bit and 64-bit applications.
I have worked round the issue by converting code from Early-binding to Late-binding. I probably didn't catch everything (I have created a very lot of code in a very lot of application tools) and my concern is that some feature of my code that has not been converted correctly may not be discovered for some time.
My question is, should the Project 2010 application (Project 14.0) be able to make reference to the 64-bit Excel 16 under Office365 Object Library? If so, what should my IT support guy be looking at to fix the problem please?
If the answer really is no I will just have to stick with the late-binding and do some extensive testing.
You cannot cross-reference between 64-bit libraries and 32-bit libraries in the same host. The host can only use libraries of the same bitness. Late-binding won't help you in this situation - it helps you where there are version mismatching but not when bitness don't match.
If you need to continue automation between Project and Excel, then you may need to have a 32-bit Excel installation, or consider installing 64-bit Project. There's the third option of shelling out to VBScript or Powershell and running it out of process but that can be a lot of work.

Resources