title: Should i develop this application in C# or VBA?
body: <p>First off, this question is not meant to be a debate of the overall merits of C# vs VBA.  I have a project that has some parts better suited to C# and other that seem more appropriate for VBA, and I'm trying to figure out how best to structure my development, as I don't have time to build it several different ways and see which one is faster.  I'm posting the question here because there might be something about one language that I haven't considered that clearly makes it the more attractive choice for this project.</p>
  
  <p>The project:</p>
  
  <ol>
  <li><p>get a data set from a Sharepoint list, either with a web services query or by refreshing the contents of an Excel sheet that's linked to this list.</p></li>
  <li><p>join the Sharepoint data set to an Excel data set of workbook filenames using inequality relationships between the sets' fields. this will be a many-to-many.</p></li>
  <li><p>for each workbook in each set of matches, export some of its data to a new workbook in a different folder, so that each match set is in its own folder.</p></li>
  <li><p>zip all the folders in one archive.</p></li>
  </ol>
  
  <p>Step 1 seems like either .NET or VBA would be satisfactory.  Step 2 seems better suited to C# because it involves a join query that would be easier to accomplish with LINQ rather than with a bunch of VBA loops.  Step 3 involves Excel data transfer, which makes VBA a better candidate, as I've read a lot of posts agreeing that VBA is faster than .NET Interop for Office operations.  Step 4 seems like it would be better in C# because I can use DotNetZip rather than having to rely on shell commands.</p>
  
  <p>But a mixture of C# and VBA would be much less convenient to maintain than a single-language solution.  So I'm not sure what approach I should take.</p>