<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Start ArcMap programmatically, run code at startup in C# in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540780#M14645</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Neil,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the reply. The processes the program does is merge several layers into one, create a new layer that buffers all the polygons in the merged layer and then does a spatial query between an area of concern layer with the merged layer as well as the buffered layer. Lastly, it gets lot information from Oracle tables, puts everything into an Access database and makes automatic exhibits for each polygon falling in an area of concern. I probably don't need ArcMap for some of the steps, but I'm pretty sure I need it for the spatial queries and exhibits. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Carlos&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;If all you're doing is processing data then you don't need ArcMap at all.&amp;nbsp; Just write a standalone program that accesses the data directly and does what it needs to do.&amp;nbsp; If you need information from the map document, use IMapDocument to open it.&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 28 Oct 2010 16:28:47 GMT</pubDate>
    <dc:creator>CarlosPiccirillo</dc:creator>
    <dc:date>2010-10-28T16:28:47Z</dc:date>
    <item>
      <title>Start ArcMap programmatically, run code at startup in C#</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540776#M14641</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi everyone,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have a dozen mxds that I run during the night from Windows Task Scheduler. They start ArcMap automatically, run code to process some data and then shut down. Now I need to convert these from VBA to C# since VBA will no longer be supported at ArcGIS 10 and I am lost on how to start ArcMap, run code and lastly shut down ArcMap programmatically. I've seen a few post both here and the old forms on how to start ArcMap automatically but nothing on how to run code at start up. In the VBA code, there is code in the MxDocument_OpenDocument function to run the entire thing including shutdown. But in a standalone C# application, there is no such thing as MxDocument_OpenDocument so how do I get my code to run at start up?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Carlos&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Oct 2010 13:01:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540776#M14641</guid>
      <dc:creator>CarlosPiccirillo</dc:creator>
      <dc:date>2010-10-28T13:01:39Z</dc:date>
    </item>
    <item>
      <title>Re: Start ArcMap programmatically, run code at startup in C#</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540777#M14642</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Well there is at least 3-4 more elegant ways of doing this sort of thing depending on the nature of the operations the code is doing.&amp;nbsp; However if you just want to migrate changing the least things to your design, there is a MxDocument_OpenDocument event in C#.&amp;nbsp; You need to create an ArcMap extension and create a listener in the oncreate event of the extension to the IDocumentEvents OpenDocument event and put your code in there.&amp;nbsp; Putting the code in the oncreate of the event is a possibility too but typically ArcMap is not finished loading at that time.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Oct 2010 15:54:31 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540777#M14642</guid>
      <dc:creator>AlexanderGray</dc:creator>
      <dc:date>2010-10-28T15:54:31Z</dc:date>
    </item>
    <item>
      <title>Re: Start ArcMap programmatically, run code at startup in C#</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540778#M14643</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;If all you're doing is processing data then you don't need ArcMap at all.&amp;nbsp; Just write a standalone program that accesses the data directly and does what it needs to do.&amp;nbsp; If you need information from the map document, use IMapDocument to open it.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Oct 2010 16:09:20 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540778#M14643</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2010-10-28T16:09:20Z</dc:date>
    </item>
    <item>
      <title>Re: Start ArcMap programmatically, run code at startup in C#</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540779#M14644</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Alexander,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the reply! I've only done one extension before and it was quite a struggle to learn it. I was hoping to avoid having to create an extension for it. I don't mind changing the design if I can find a better way of doing it so if you have other ideas, I'm all ears. Thanks, Carlos!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Well there is at least 3-4 more elegant ways of doing this sort of thing depending on the nature of the operations the code is doing.&amp;nbsp; However if you just want to migrate changing the least things to your design, there is a MxDocument_OpenDocument event in C#.&amp;nbsp; You need to create an ArcMap extension and create a listener in the oncreate event of the extension to the IDocumentEvents OpenDocument event and put your code in there.&amp;nbsp; Putting the code in the oncreate of the event is a possibility too but typically ArcMap is not finished loading at that time.&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Oct 2010 16:22:33 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540779#M14644</guid>
      <dc:creator>CarlosPiccirillo</dc:creator>
      <dc:date>2010-10-28T16:22:33Z</dc:date>
    </item>
    <item>
      <title>Re: Start ArcMap programmatically, run code at startup in C#</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540780#M14645</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Neil,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the reply. The processes the program does is merge several layers into one, create a new layer that buffers all the polygons in the merged layer and then does a spatial query between an area of concern layer with the merged layer as well as the buffered layer. Lastly, it gets lot information from Oracle tables, puts everything into an Access database and makes automatic exhibits for each polygon falling in an area of concern. I probably don't need ArcMap for some of the steps, but I'm pretty sure I need it for the spatial queries and exhibits. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Carlos&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;If all you're doing is processing data then you don't need ArcMap at all.&amp;nbsp; Just write a standalone program that accesses the data directly and does what it needs to do.&amp;nbsp; If you need information from the map document, use IMapDocument to open it.&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Oct 2010 16:28:47 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540780#M14645</guid>
      <dc:creator>CarlosPiccirillo</dc:creator>
      <dc:date>2010-10-28T16:28:47Z</dc:date>
    </item>
    <item>
      <title>Re: Start ArcMap programmatically, run code at startup in C#</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540781#M14646</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Neil,&lt;BR /&gt;&lt;BR /&gt;Thanks for the reply. The processes the program does is merge several layers into one, create a new layer that buffers all the polygons in the merged layer and then does a spatial query between an area of concern layer with the merged layer as well as the buffered layer. Lastly, it gets lot information from Oracle tables, puts everything into an Access database and makes automatic exhibits for each polygon falling in an area of concern. I probably don't need ArcMap for some of the steps, but I'm pretty sure I need it for the spatial queries and exhibits. &lt;BR /&gt;&lt;BR /&gt;Carlos&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm not sure what you mean by exhibit but it's highly unlikely you need ArcMap.&amp;nbsp; The IMapDocument interface allows you to open a document and access the map, the layout, the map layers, etc.&amp;nbsp; You can make changes and save those changes.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Oct 2010 17:09:01 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540781#M14646</guid>
      <dc:creator>NeilClemmons</dc:creator>
      <dc:date>2010-10-28T17:09:01Z</dc:date>
    </item>
    <item>
      <title>Re: Start ArcMap programmatically, run code at startup in C#</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540782#M14647</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;By exhibit I mean creating a layout with predetermined elements, (scale bar, tittle, etc.) and exporting it as a jpg. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You have me VERY intrigued. Do you have sample code in either C#, VB or VBA where you use IMapDocument to do some of things I mentioned without opening ArcMap? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;I'm not sure what you mean by exhibit but it's highly unlikely you need ArcMap.&amp;nbsp; The IMapDocument interface allows you to open a document and access the map, the layout, the map layers, etc.&amp;nbsp; You can make changes and save those changes.&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Oct 2010 17:19:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540782#M14647</guid>
      <dc:creator>CarlosPiccirillo</dc:creator>
      <dc:date>2010-10-28T17:19:46Z</dc:date>
    </item>
    <item>
      <title>Re: Start ArcMap programmatically, run code at startup in C#</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540783#M14648</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;The code is in VB .Net but you can easily port it to c#.&amp;nbsp; It's a console application that accepts a parameter (MXD name) and exports the layout of the MXD to PDF.&amp;nbsp; Good luck.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports ESRI.ArcGIS.esriSystem&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports ESRI.ArcGIS.Framework&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports ESRI.ArcGIS.Carto&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports ESRI.ArcGIS.Output&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports ESRI.ArcGIS.Display&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports ESRI.ArcGIS.Geometry&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Imports System.io&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Module ExtractPdf&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sub Main()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim ao As IAoInitialize = New AoInitialize&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMapDoc As IMapDocument = New MapDocument&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pParameter As String() = Environment.GetCommandLineArgs&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim theMap As String = pParameter(1)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim thePath As String&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim theFileName As String&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim theWidth As Double&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim theHeight As Double&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pExportPDF As IExportPDF = New ExportPDF&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pExport As IExport = pExportPDF&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pExportVectorOptionEx As IExportVectorOptionsEx&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pPixEnv As IEnvelope = New Envelope&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pRect As tagRECT&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim hDc As Integer&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pLayoutView As IActiveView&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim writer As StreamWriter&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If theMap Is Nothing Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Get output path and output file name&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; thePath = System.IO.Path.GetDirectoryName(theMap)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; theFileName = System.IO.Path.GetFileNameWithoutExtension(theMap)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If File.Exists(thePath &amp;amp; "\tilecache_error.log") Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer = File.AppendText(thePath &amp;amp; "\tilecache_error.log")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer = New StreamWriter(thePath &amp;amp; "\tilecache_error.log")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If ao.IsProductCodeAvailable(esriLicenseProductCode.esriLicenseProductCodeArcInfo) = esriLicenseStatus.esriLicenseAvailable Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ao.Initialize(esriLicenseProductCode.esriLicenseProductCodeArcInfo)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If pMapDoc.IsMapDocument(theMap) Then&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Open map and obtain layout&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pMapDoc.Open(theMap)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pLayoutView = pMapDoc.PageLayout&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Get page width and height&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pMapDoc.PageLayout.Page.QuerySize(theWidth, theHeight)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Set up export parameters&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pExport.ExportFileName = thePath &amp;amp; "\" &amp;amp; theFileName &amp;amp; ".pdf"&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pExport.Resolution = 100&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pExportVectorOptionEx = pExportPDF&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pExportVectorOptionEx.ExportPictureSymbolOptions = esriPictureSymbolOptions.esriPSOVectorize&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pRect.left = 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pRect.top = 0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pRect.right = theWidth * pExport.Resolution&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pRect.bottom = theHeight * pExport.Resolution&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pPixEnv.PutCoords(pRect.left, pRect.top, pRect.right, pRect.bottom)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pExport.PixelBounds = pPixEnv&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Start export of layout&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; hDc = pExport.StartExporting&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pLayoutView.Output(hDc, pExport.Resolution, pRect, Nothing, Nothing)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pExport.FinishExporting()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.WriteLine("Export PDF (" &amp;amp; Now &amp;amp; ") - " &amp;amp; theFileName &amp;amp; " - Input map parameter is not an ArcGIS map document.")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.Close()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.WriteLine("Export PDF (" &amp;amp; Now &amp;amp; ") - " &amp;amp; theFileName &amp;amp; " - Can not obtain an ArcInfo license.")&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.Close()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ao.Shutdown()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch ex As Exception&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ao.Shutdown()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.WriteLine("Export PDF (" &amp;amp; Now &amp;amp; ") - " &amp;amp; theFileName &amp;amp; " - " &amp;amp; ex.Message)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;End Module&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Oct 2010 17:45:37 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540783#M14648</guid>
      <dc:creator>SteveFang</dc:creator>
      <dc:date>2010-10-28T17:45:37Z</dc:date>
    </item>
    <item>
      <title>Re: Start ArcMap programmatically, run code at startup in C#</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540784#M14649</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Steve,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you VERY much for the sample code, this should help a lot! I have VB.Net on this machine too so I'll get it working there first and then port it to C#. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Carlos&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Oct 2010 18:13:39 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540784#M14649</guid>
      <dc:creator>CarlosPiccirillo</dc:creator>
      <dc:date>2010-10-28T18:13:39Z</dc:date>
    </item>
    <item>
      <title>Re: Start ArcMap programmatically, run code at startup in C#</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540785#M14650</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks everyone for your help! I think I am on the right track. I have been able to create a stand alone C# executeable that grabs a bunch of SDE layers, joins them to an Oracle table and creates new layers with the joined attributes. All without having to call up ArcMap! Now I have to expand it to do all the other things the VBA code did but with all of your help I've gotten this far and I REALLY appreciate everyones help!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Carlos&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 01 Nov 2010 19:08:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540785#M14650</guid>
      <dc:creator>CarlosPiccirillo</dc:creator>
      <dc:date>2010-11-01T19:08:52Z</dc:date>
    </item>
    <item>
      <title>Re: Start ArcMap programmatically, run code at startup in C#</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540786#M14651</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;thanks chump4life, the code works very well, this code apply for many things that do you want run in background like a schedule task.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Apr 2011 16:01:16 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/start-arcmap-programmatically-run-code-at-startup/m-p/540786#M14651</guid>
      <dc:creator>GuillermoMarinez</dc:creator>
      <dc:date>2011-04-13T16:01:16Z</dc:date>
    </item>
  </channel>
</rss>

