Avoiding Cross Process Calls When Doing Word Automation
Oct 5, 2010
I've got a Word Addin in VB.net and VSTO that exposes a COM compatible object via Word.COMAddins.Object, so that the addin functionality can be called External to Word, without accesses to Word itself being cross-process.The technique worked in VB6, but with VB.net, it still works, but it's much slower than the same code running directly from the addin via a task pane, as if the calls are all cross process when they shouldn't be.Anyone who's ever done Word automation knows that code that runs perfectly acceptably INPROC with Word (in this case the instance of the ADDIN that Word itself loads), will generally run unacceptably slowly out of process (or cross process).[code]And slow as in a factor of about 10 to 1; what takes 3 seconds to run when run directly from the ADDIN via the task pane, takes ~30seconds to run when called from external code through the COMADDIN.object object. I'm guessing that I'm running into some sort of issue with .net APPDOMAINS or something and what +really+ constitutes cross proc calls in .net, but I've found nothing so far that would even hint about this sort of thing.My next step, barring some mystical insight, will be to code up a repro, which could get tricky because of the shear number of elements in play.
View 1 Replies
ADVERTISEMENT
Jan 13, 2011
I am trying to implement a solution for updating form controls without using a delegate.
Imports System.ComponentModel
Imports System.Runtime.CompilerServices
Public Module MyInvoke
[code]....
I get a cross threading error as though i didnt even use this method:Cross-thread operation not valid: Control 'ComboBox1' accessed from a thread other than the thread it was created on.
View 3 Replies
Jan 14, 2011
On a given application form, I have around 20 controls that I need to set in the main form. I have a separate thread that only needs to ready some properties from the controls on the application form It will never try to write to the form's controls.
[Code]...
View 9 Replies
Jun 17, 2009
I'm using excel via interop in application.Sometimes users kill application that created excel instance and that results in excel instance sitting in memory without any chance of disposing it.First I tried to tackle this using ROT(running object table) looks like not all instances of excel are registered there.Than I tried to somehow mark excel process after it is started via interop.[code]This works as long as excel is visible but in my case excel window is invisible.All I need is to somehow mark process that started via automation with the parent PID, so that later I can kill it if parent does not exist.
View 19 Replies
Jan 15, 2012
I have a VB.net application that gets data off our server with ODBC and populates and saves a Word Document. When I try to deploy it to another computer it will get the data just fine and populate the first document, but it will crash before saving it. I've installed the .net framework 4.0, Microsoft Data Access Components, and the Microsoft ODBC .net data Provider. The error code is 0xC0000005, which is from what I can see is called an "Access Violation Exception." It works fine on my computer.
View 3 Replies
Dec 16, 2009
I am trying to create an application that will make calls to an API. I want this process to be fully automated to run a few times a day. What kind of application in vb.net can be automated? I've created windows applications in the past, but never automated anything.
View 8 Replies
Dec 23, 2010
I was wondering if you could offer a hand on something I'm finding a bit tricky.I am looking at basic shell integration. That is, when a user right clicks a file they can select an option that I have specified. Clicking this will allow them to do various functionality. The way the shell is working for me is that I have a registry entry which runs a specific file. That's all well and good but I need to communicate with a process that is already running on the local machine. (To prevent the users from having to enter login details multiple times).
So I need a way to launch an application, which can call a function in a process that is already running, and pass through the file path. The other application takes the filepath and does whatever it needs with it.
I have both separate sides of the application working (it can get the file path fine, and the other application knows what to do with a file path). The problem I am having is actually linking the two together.
View 5 Replies
Mar 30, 2012
All i want to do is write some text into word... some of the text is normal text the other is bold... how do I achieve this?The samples I have seen, they either do normal text or bold.. but in different lines utilising InsertParagraphAfter()I need to have both in the one lineie how do i do the following line? using vb.net and word automation (word 2010)
View 2 Replies
Aug 13, 2009
I am trying figure out something new, I can add a schema to a word 2007 doc and place the elements at diff locations. In my VB project with automation can I fill the elements. I can fill fields/content controls/story ranges just fine, but how does XML fit it to this? Or have I got it all mixed up??? Not asking for code just yet, just seeing if this is a correct approach.
View 3 Replies
Jun 25, 2011
I am trying to use my web browser control to get retrieve date from a specific page, including all sub-page content. Problem is some of the sub-pages are on a separate domain and thus I am getting a permission deigned error when i try to access the frame [through document.windows.frames(i).document].Is there any work around to do this, even if I have to manually change security settings? I tried turning all my settings in IE to allow and still same error. I will only be running the app locally and no one will be browsing on IE so I can literally change anything needed to get this to work (even install older version of IE which may allow it but can still handle JS processing).
Note the reason I am using web browser is a great majority of data I will be accessing is JS generated, so I need to access the DOM after JS processed / generated the HTML. Because of this, simply using SOCKETS to get the HTML is really not an option. Even if I had the HTML, I still need some type of engine to process all of the DOM elements based off javascript.
View 2 Replies
Dec 11, 2009
I have a word 2007 doc (letter) template with an address block which gets its data from a SQL (ODBC) database.What I want to do is, from my VB 2008 app, is select certain addresses and then create the document(s) from the template with the selected addresses being placed in the address block.
View 1 Replies
Jan 24, 2011
how should I proceed -- with a VB UserForm (eg upon clicking successively a Form Button) -- in order to have a [TextBox.Text] contain (in other words: to have a TextBox show), say, one sentence at a time, text obtained from a MS Word document.Then, also, since it is also essential to my ambitions: can I have all the functionalities of my twenty or so existing word macros (triggered each in Word itself by its corresponding shortcut) available for use in said Form's TextBox? Just as an example, I have macros to simply toggle words between singular and plural or that invert the relative positions of two words, while others are 100 lines long and do searches in another Word document containing glossary entries using bookmarks.I searched the Web for hours on end to get a foothold on this issue to no avail until someone finally hinted at "automation". Then a wealth of info surfaced, but so far I only managed to get as far as this:
Dim msword As Object
msword = CreateObject("Word.Application")
msword.Visible = True
Dim wordDoc As Object
wordDoc = msword.Documents.Open("C:\tests\mydoc.doc")
and, yes, I added references to Microsoft Office 11.0 Object Library and to Microsoft Word 11.0 Object Library to my project. I am using Microsoft VB 2010 Express.
What happens is this: When this code runs, first I get a message saying the file is "locked for edition" (or something similar, for mine is a Portuguese version of Word) because it is being use by another user (myself). How should I overcome this hurdle. Then, never minding this initial problem, the dialog box message error offers my the chance of opening a copy as read only. I accept this option and the Word document opens beautifully.But after many trials and only errors, I still don't know how to code so as to get, for example, the first sentence of the document in my TextBox. And, again, will I be able to run my Word macros in the TextBox?
I tried for example:
Selection.MoveRight(Unit:=wdWord, Count:=1, Extend:=wdExtend)
and
wordDoc.Selection.MoveRight(Unit:=wdSentence, Count:=1, Extend:=wdExtend)
but they get blue/and/red underlined (illegal)Are Word VBA declarations per se not valid in VB? I have many more hurdles on the way I wish to such as (1) what tricks could I use so as no to loose original formatting when I finally learn how to get the sentences shown in the TextBox and subsequently paste them back into the Word document and (2) populating a ListBox with the content of a database record.
View 3 Replies
Oct 15, 2009
I just learned automation in Word. I had a document that started out as 88kb but after automation (19 fields/check boxes)it is over 1MB. Another, document I automated went from 27kb-32.
View 1 Replies
Apr 2, 2012
1. I have button tugllet. I click the button and save file. I want - when I open the file, to see the button preesed (like "bold" button), how am I do this?
[Code]...
View 1 Replies
Apr 20, 2009
I am creating new documents from templates and then saving them as docx files.My understanding is that when I go to my saveas method I should be able to have the wdFormatXMLDocument as one of my fileformat options.However I don't.I have to use the numerical equivalent of 12.I have imported the Word 2007 interop and have all the methods at my fingertips there, but can't seem to find this particular option.
View 2 Replies
Apr 2, 2012
I am doing a bit of Office Automation and when printing a .doc file using VB.NET Office reference DLLs it causes great CPU load so I want to limit those processes to only use a single virtual core. I haven't been able to find anything in Microsoft's documentation about this.
This is the code I am using to print
Dim oWordApp As Word.Application
Dim oTargetDoc As Word.Document
oWordApp = New Word.Application
Select Case SQLdr("Priority")
[Code] .....
View 1 Replies
Mar 7, 2012
My application (vb.net windows application deployed via ClickOnce) uses Word to open and fill .dot templates to create new Word documents. I reference Microsoft Word 14 Object Library and uses this code :
Dim oWord As Word.Application = Nothing
Dim oDoc As Word.Document = Nothing
Try
[code]....
On the last line I receive "could not open macro storage" error on deployed machines (not on my development machine).I develop with Windows 7 - Office 2010 - VS 2010 (.Net 3.5). My deployment machine is also a Windows 7 with Office 2010 installed.I tried to remove normal.dotm (I found some links advicing it) without success. The .dot template used contains no macro.
View 1 Replies
Apr 7, 2012
Here is my code:
'Insert a paragraph at the beginning of the document.
ServiceCompanyList = oDoc.Content.Paragraphs.Add
ServiceCompanyList.Range.Text = vbTab & "- " & "Perforation" & vbTab & vbTab & =
And here is what I get:
I Have two questions:
1- You can see I put (false) for both Bold and Underline, but still I have them returned ....?
2- How can I make them in bullet points since as you see here I did it manually.
View 1 Replies
Jan 8, 2009
I'm creating macrobutton fields in Word by .NET to add fields. I need someway to figure out when a field is copied and pasted. Is there a kind of event which will be reased within Word to .NET?
This is the code to generate the fields:
[Code].....
General I need to add a field to Word with a given name and a guid and when it's clicked, moved, copied or pasted. I need an event to do something with it.
View 1 Replies
Aug 3, 2009
Word has insufficient memory in my program and I am trying to find out why. My script works great and now it is not working. I am getting the error, "Word has insufficient memory. You will not be able to undo this action once it is completed. Do you want to continue?" The code that breaks it is:
wordApp.Selection.Font.Bold = 1;
wordApp.Selection.TypeText("var text here: ");
wordApp.Selection.Font.Bold = 0;
[code]....
View 2 Replies
May 5, 2010
I want to append a hyperlink to the end of a paragraph using VS2008 as shown in the code below between the segment marked begin here and end here but get an exception Command Failed. The paragraph should appear as "More text [URL]" (this is sample text) and if possible overlay the hyperlink with text.
[Code]...
View 4 Replies
Sep 2, 2010
Excel process will not terminate...
Code:
oExcel = CreateObject("Excel.Application")
oBooks = oExcel.Workbooks
oBook = oBooks.Open(Filename:="C:Jared FC Project Desktopfixture tracking.xls", UpdateLinks:=False, ReadOnly:=False)
oSheet = oBook.Worksheets(1)
[Code] .....
View 6 Replies
Nov 13, 2009
I'm trying to create an excel file and load headers into the first row and then save the file to the local computer for later use. All of that works fine, but for some reason the "EXCEL" process won't quit. I have read through the tutorial written by Mike R and I have even tried just copying and pasting the code from the tutorial into my project, but to no avail. I should also note that I have not yet tried the "Extreme Measures" listed in the post, though at this point I am tempted to.
Code:
Dim ExcelApp As Excel.Application
Dim ExcelWorkBook As Excel.Workbook
[code]....
View 5 Replies
Dec 19, 2010
I got exactly the same situation as the following link. I need to end the excel process after calling it in Visual Basic. But it did not and I have to use task manager to kill EXCEL process manually.
[URL]
I have been trying the same solution mentioned in the above link but not successful. Can any body to take the code below to let me know what I am doing wrong?
Code:
Please use the CODE tags when posting code. Click on this post's quote button to see how.
View 8 Replies
May 8, 2010
What the Win32 API is? I have looked around but no where really outlines what it is. Is it basically a set of procedures, outlined by Microsoft for programmers in order to get services from the operating system? In essence is it the equivalent to making system calls abd and library calls in UNIX? And yes I now Windows makes library calls too.
View 2 Replies
May 2, 2012
When I execute the code provided, Word 2010 opens and appears visible and then stops with an error: "COMException was unhandled". But if I execute the code line by line (F8), the code runs perfectly, that is Word 2010 opens, it is visible and the template is opened. The error fails (always) on the third line of code. What is going on and how might I fix it? [Code]
View 11 Replies
Mar 27, 2010
I would like to create customized Actions Pane for MS Word.First I would like to start with Word 2003 and then continue to Word 2007 and 2010.I work with VS 2005.As far as I understand, the Actions Pane can be distributed as part of the specific document that was created in VSTO. However I would like to create application-wise Actions Pane.I thought about windows form application. When it is activated, it adds customized Action Pane to all open Word documents.
View 3 Replies
Jan 18, 2010
Code:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim oWord As Word.Application
Dim oDoc As New Word.Document
[Code].....
i got this from m$ site as well
any one see whats wrong?
[URL]
View 10 Replies
May 19, 2009
I'm working on and add-in for Word 2003 that creates a custom toolbar when the add-in is loaded. However, most of the users will open documents through a file management system that uses automation to open the documents. I tried using the GetObject function to grab the instance of Word created through the automation but the toolbar isn't made visible (it only sits in the background and the users have to manually make the toolbar visible).
Code:
Public Sub createToolbar()
On Error GoTo ErrorLocator
[code]......
View 2 Replies
Nov 23, 2010
Using VB2008 on a W7 system equipped with Office 2010, I added a reference to Microsoft.Office.Interop.Word (The Office12 version, not sure if this is OK). Then I have the following code:
Imports Microsoft.Office.Interop
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim WordApp As Word.Application
[code]....
But all I keep getting is an exception on the CreateObject line indicating "Cannot create ActiveX component". I don't think it likes the "Word.Application" statement for some reason. Is this because I'm using Word2010?
View 8 Replies