Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 57
Default Using function from vba add-ins: looking for a solution

Hi,

This is the same issue as posted before, but this time I will start in a
different place.

There seems to be fundamental problems with using functions from a vba
project. If user A and user B both have the same vba add-in installed (but
in different paths), and user A builds a worksheet which uses a function
from the add-in, he cannot send this worksheet to user B. This is because
Excel will look for the add-in to be installed in the same place and won't
find it there. This clearly defies logic, but I won't get into that.

Charles Williams proposed two solutions:

- always install the addin in the same place (use an install package to make
sure)
- change links in the workbook (either manually or make your addin check
each workbook that is opened for links to itself and change them to itself)

Solution 1 is unacceptable because it is good practice to put add-ins on the
a shared drive so they can be upgraded invisibly to the users. At the same
time, to me as the developer, the shared drive is not always available.
Solution 2 is acceptable, but c'mon!

A third solution that I will pursue if I get no suggestions is to rewrite
the add-in in C++, since C++ add-ins seem to be free of this ridiculous
problem.

Does anyone have any suggestions?

Bura

PS: Perhaps I could go with the first solution proposed by Charles if (in
abcense of a network) I could fake having an F: drive by mounting one of the
local directories. Does anyone one if this is possible? Sorry for the OT.


  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,236
Default Using function from vba add-ins: looking for a solution

I too have had this issue with Add-Ins.
Given this obstacle, I personally find UDF within XLA a waste of time.

What I've resorted to is UDF within a COM AddIn (Automation AddIn) which is
available in XL2002+
You don't have Links with this addin, Edit | Links is ghosted out.
Even Automation Addins have problems, but they are minor in comparison.

The best option I have seen is still XLL for UDF. This technology has been
available since very early versions of Excel but is not available to be
written in VB (at least, no way I know of).


--
Rob van Gelder - http://www.vangelder.co.nz/excel


"Bura Tino" wrote in message
news:Kg_mc.50045$kh4.2828048@attbi_s52...
Hi,

This is the same issue as posted before, but this time I will start in a
different place.

There seems to be fundamental problems with using functions from a vba
project. If user A and user B both have the same vba add-in installed (but
in different paths), and user A builds a worksheet which uses a function
from the add-in, he cannot send this worksheet to user B. This is because
Excel will look for the add-in to be installed in the same place and won't
find it there. This clearly defies logic, but I won't get into that.

Charles Williams proposed two solutions:

- always install the addin in the same place (use an install package to

make
sure)
- change links in the workbook (either manually or make your addin check
each workbook that is opened for links to itself and change them to

itself)

Solution 1 is unacceptable because it is good practice to put add-ins on

the
a shared drive so they can be upgraded invisibly to the users. At the same
time, to me as the developer, the shared drive is not always available.
Solution 2 is acceptable, but c'mon!

A third solution that I will pursue if I get no suggestions is to rewrite
the add-in in C++, since C++ add-ins seem to be free of this ridiculous
problem.

Does anyone have any suggestions?

Bura

PS: Perhaps I could go with the first solution proposed by Charles if (in
abcense of a network) I could fake having an F: drive by mounting one of

the
local directories. Does anyone one if this is possible? Sorry for the OT.




  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 44
Default Using function from vba add-ins: looking for a solution

"Rob van Gelder" wrote:

The best option I have seen is still XLL for UDF. This technology has been
available since very early versions of Excel but is not available to be
written in VB (at least, no way I know of).


If VB is your language of choice, try VB.NET + ManagedXLL !


Jens.


--
http://ManagedXLL.net/ | http://jens-thiel.de/ | http://QuantLib.net/
Replace MSDN with my first name when replying to my email address!


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 44
Default Using function from vba add-ins: looking for a solution

"Bura Tino" wrote
Solution 1 is unacceptable because it is good practice to put add-ins on

the
a shared drive so they can be upgraded invisibly to the users.


Have you tried updating the add-in while it is opened by a user..?

A third solution that I will pursue if I get no suggestions is to rewrite
the add-in in C++, since C++ add-ins seem to be free of this ridiculous
problem.

Does anyone have any suggestions?


I can give you an evaluation copy of ManagedXLL if you like to try that ;-)

I could fake having an F: drive by mounting one of the
local directories. Does anyone one if this is possible? Sorry for the OT.


use "SUBST F: C:\PATH\TO\ADDIN" but be warned: I remember we had problems
with that


Jens.

--
http://ManagedXLL.net/ | http://jens-thiel.de/ | http://QuantLib.net/
Replace MSDN with my first name when replying to my email address!




  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 57
Default Using function from vba add-ins: looking for a solution


"Jens Thiel" wrote in message
...
"Bura Tino" wrote
Solution 1 is unacceptable because it is good practice to put add-ins on

the
a shared drive so they can be upgraded invisibly to the users.


Have you tried updating the add-in while it is opened by a user..?


Actually yes, although it sounds bad. It's seems ok - they notice changes
when they restart excel.



A third solution that I will pursue if I get no suggestions is to

rewrite
the add-in in C++, since C++ add-ins seem to be free of this ridiculous
problem.

Does anyone have any suggestions?


I can give you an evaluation copy of ManagedXLL if you like to try that

;-)


Don't know what ManagedXLL is. I will look into that.

I could fake having an F: drive by mounting one of the
local directories. Does anyone one if this is possible? Sorry for the

OT.

use "SUBST F: C:\PATH\TO\ADDIN" but be warned: I remember we had problems
with that


What kinds of problems?

I've also discovered that you can mount it as \\127.0.0.1\SHARED_DIR



Jens.

--
http://ManagedXLL.net/ | http://jens-thiel.de/ | http://QuantLib.net/
Replace MSDN with my first name when replying to my email address!








  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 837
Default Using function from vba add-ins: looking for a solution

Like it or not, including the path is the nature of the way Excel embeds
the links to VBA add-ins. It gets worse: Excel uses the drive letter
path, VBA uses the UNC path. In my experience too, links to .xll files
are not plagued by this.

Why is the shared drive sometimes unavailable to you? If you mean that
you want to work from a PC that is not connected to the network, you can
always use the DOS SUBST command to mimic the .xla's path on a virtual
drive. That would solve the problem for functions called from a worksheet.

Jerry

Bura Tino wrote:

Hi,

This is the same issue as posted before, but this time I will start in a
different place.

There seems to be fundamental problems with using functions from a vba
project. If user A and user B both have the same vba add-in installed (but
in different paths), and user A builds a worksheet which uses a function
from the add-in, he cannot send this worksheet to user B. This is because
Excel will look for the add-in to be installed in the same place and won't
find it there. This clearly defies logic, but I won't get into that.

Charles Williams proposed two solutions:

- always install the addin in the same place (use an install package to make
sure)
- change links in the workbook (either manually or make your addin check
each workbook that is opened for links to itself and change them to itself)

Solution 1 is unacceptable because it is good practice to put add-ins on the
a shared drive so they can be upgraded invisibly to the users. At the same
time, to me as the developer, the shared drive is not always available.
Solution 2 is acceptable, but c'mon!

A third solution that I will pursue if I get no suggestions is to rewrite
the add-in in C++, since C++ add-ins seem to be free of this ridiculous
problem.

Does anyone have any suggestions?

Bura

PS: Perhaps I could go with the first solution proposed by Charles if (in
abcense of a network) I could fake having an F: drive by mounting one of the
local directories. Does anyone one if this is possible? Sorry for the OT.


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Solution to DATEDIF Function Nooruddin Surani Excel Worksheet Functions 1 October 8th 09 02:25 PM
Month function yields incorrect solution alwein Excel Worksheet Functions 4 December 16th 08 01:34 AM
Optimize a sumproduct function (or find another solution) Andrea Excel Worksheet Functions 1 August 29th 08 07:44 PM
OTHER EXCEL FUNCTION COUNTER SOLUTION ? romelsb Excel Worksheet Functions 6 October 27th 06 02:21 PM
"Is Between" Function Solution --- Many Thanks Cindi Excel Worksheet Functions 2 November 4th 04 10:04 PM


All times are GMT +1. The time now is 08:03 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"