title: XLAM / XLA Addins: is there a better way?
body: <p>This post is about installing XLAM's without creating links. (Everyone hates links).  Consider the trivial addin:</p>
  
  <pre><code>    Public Function UDF_HELLO(x)
          UDF_HELLO = "Hello " &amp; x
      End Function
  </code></pre>
  
  <p>Put this code and nothing else into a Module and save as "Hello.xlam" on the Desktop (and NOT in the default excel addins folder).  Next, while HELLO.XLAM is still open, create a new XLSX workbook with the formula</p>
  
  <pre><code>      =UDF_Hello("world")
  </code></pre>
  
  <p>in cell A1, which simply displays "Hello world" in that cell.  Save the workbook and exit Excel.  Now, if you reopen the workbook without the XLAM, Excel will complain about "links to other sources ...".  Whether you click "Update" or "Don't Update", Excel will mangle the formula in cell A1 like this:</p>
  
  <pre><code>    ='C:\Documents and Settings\tpascale\Desktop\Hello.xlam'!UDF_Hello("world")
  </code></pre>
  
  <p>Very often this "forced-linkage" is NOT desirable. In my computing environment there is a lot of ad-hoc analysis and it makes no sense to impose an install regimen on every XLAM we throw together to solve the problem of the day.  I just want to hand out XLAM files to users and let those users open them when they need them, WITHOUT having to worry about the slightest mis-step causing their formulas to get mangled.  </p>
  
  <p>QUESTION:</p>
  
  <p>Is there a way to instruct Excel to NEVER construct external links for UDFs, and simply to use UDFs if they're loaded and return #VALUEs otherwise ?</p>