|
|
#1 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Gangsta Yoda™
Description: I wrote this to demonstrate how to take full advantage of MS Word's built in Spelling and Grammar checker. There are a few other code examples that show how to do spell checking with Word but they are all using the same technique that seems to have a few issues like showing the spell dialog behind your app, messing up the line breaks so you need to apply a code fix to restore them, flashing window, etc. What makes my spell checker different is that I use the actual spell/grammar checking dialog window and not invoking it by coding the usual - "Document.CheckSpelling" which seems to cause the mentioned issues. Since I use the dialog window I preset the type of spelling I wish to perform. Now you can make it dynamic by having a spell options form in your app to allow the user to preset it to either Ignore words in UPPERCASE, urls, mixed words and numbers, check grammer, and whether to show spelling suggestions, etc. Requirements: Microsoft Word Versions 10.0 - 11.0 (2002 - 2003) Note: I converted my VB6 version to VB.NET 2003. The VB6 version can be located here. VB Code:
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 Last edited by RobDog888; Sep 13th, 2005 at 08:40 PM. |
|
|
|
|
|
#2 |
|
Addicted Member
Join Date: Aug 04
Posts: 164
![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
what Refrences Are used? I Have Office 2003 Installed, and I Tried Refrencing Microsoft.Office 11, Microsoft.Office 10, Office, and these Errors Still Stood the Test of Time.
Please Submit an Example, in .NET (1): Namespace or type 'Interop' for the Imports 'Microsoft.Office.Interop' cannot be found. (2): Namespace or type 'of' for the Imports 'System.Runtime.InteropServices.of' cannot be found. (48): Type 'Word.Application' is not defined. (64): Type 'Word.Application' is not defined. (67): Type 'Word.Application' is not defined. (78): Type 'Word.Document' is not defined. (112): Name 'hSpelling' is not declared. (112): Name 'Word' is not declared. (113): Name 'Corrections' is not declared. (113): Name 'Word' is not declared. (114): Name 'Word' is not declared. (115): Name 'ndFileAddresses' is not declared. (115): Name 'Word' is not declared. (116): Name 'ts' is not declared. (116): Name 'Word' is not declared. (117): Name 'Statistics' is not declared. (117): Name 'Word' is not declared. (122): Name 'Word' is not declared.
__________________
Curiosity SKILLED the cat Google Talk from your Mobile phone Site address: http://wap064.tripod.com Chat from your mobile or get an emulator like J2ME Wireless Toolkit 2.2 |
|
|
|
|
|
#3 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
You need to add a reference to Word. I would submit an example but I already have found one person trying to claim my code being copyrighted as his and published on his website just about 2 weeks ago. It was a member that I helped with this. I had to submit a claim to his forum's software provider. Needless to say, he had to take it down.
Your errors are easy to fix. You need a reference to Word and it looks like you do not have the Primary Interop Assemblies installed for Office. Check the link in my signature on Office PIAs. This will give you the .Office.Interop.
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 |
|
|
|
|
|
#4 |
|
Addicted Member
Join Date: Aug 04
Posts: 164
![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Hmm, Well one Guy Ripped of Your Program as His, If its a Newb Then editing the AssemblyInfo might Tweak that.
Whats the Difference between that Code you gave Him and the One submitted Here?
__________________
Curiosity SKILLED the cat Google Talk from your Mobile phone Site address: http://wap064.tripod.com Chat from your mobile or get an emulator like J2ME Wireless Toolkit 2.2 |
|
|
|
|
|
#5 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
It was mostly an issue of him copy/pasting the code I have posted here and he changed the copyright to reflect his website.
![]() Anyways, did adding the Word reference help? And do you have the .Interop class available?
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 |
|
|
|
|
|
#6 |
|
Addicted Member
Join Date: Aug 04
Posts: 164
![]() |
Latest Errors:
(115): Name 'Statistics' is not declared. (110): 'CheckGrammarWit' is not a member of 'Microsoft.Office.Interop.Word.Options'. (110): Name 'hSpelling' is not declared. (111): 'SuggestSpelling' is not a member of 'Microsoft.Office.Interop.Word.Options'. (111): Name 'Corrections' is not declared. (113): 'IgnoreInternetA' is not a member of 'Microsoft.Office.Interop.Word.Options'. (113): Name 'ndFileAddresses' is not declared. (114): 'IgnoreMixedDigi' is not a member of 'Microsoft.Office.Interop.Word.Options'. (114): Name 'ts' is not declared. (115): 'ShowReadability' is not a member of 'Microsoft.Office.Interop.Word.Options'.
__________________
Curiosity SKILLED the cat Google Talk from your Mobile phone Site address: http://wap064.tripod.com Chat from your mobile or get an emulator like J2ME Wireless Toolkit 2.2 |
|
|
|
|
|
#7 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Ah, it seems that the forum software can not display the complete length of the code so it adds a space. Look at my original post.
VB Code:
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 |
|
|
|
|
|
#8 |
|
Addicted Member
Join Date: Aug 04
Posts: 164
![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
I Missed that Cause I Thought this had to do with a Reference issue which I thought You'd Know how to Fix.
Coool, I Wont Patent/Copyright/etc this. Question =- When One Puts in 'Comments does it Compile in the Exe?
__________________
Curiosity SKILLED the cat Google Talk from your Mobile phone Site address: http://wap064.tripod.com Chat from your mobile or get an emulator like J2ME Wireless Toolkit 2.2 |
|
|
|
|
|
#9 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Glad you like it.Comments in code do not get compiled into the exe.
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 |
|
|
|
|
|
#10 |
|
New Member
Join Date: Oct 99
Location: Rome, Italy
Posts: 10
![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Hi,
instead of: moApp.Dialogs(Word.WdWordDialog.... I have to use moApp.Dialogs.Item(Word.WdWordDialog.... Development environnment specs: MDE 2003 vers. 7.1.3088 .NET Framework 1.1 vers. 1.1.4322 MS Word 2002 SP3 Win XP Pro SP2 Best regards, Sergio. |
|
|
|
|
|
#11 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
I'm running the same MDE but SP1 on the framework version and SP1 on XP Pro. Also, Office 2003 but its just a shortcut as when I type the parenthesis after the Dialogs I get intellisense popup for the constants.
VB Code:
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 |
|
|
|
|
|
#12 |
|
New Member
Join Date: Feb 06
Location: In a car
Posts: 10
![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
I dont see whats so hard? The code example given and everything you need. What more could you ask for?
Great code example |
|
|
|
|
|
#13 |
|
Fanatic Member
Join Date: Jan 05
Location: Manchestershire, UK Cabbage: I do
Posts: 617
![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Mr Dog,
I'm having problems with focus using your .Net spellchecker mate. Apart from this its working cool, really cool. I have around 10 user controls that use this, I am running in a terminal services / Citrix environment and the users have a TS desktop session running that they don't see, so it just looks like a seamless app to them. Anyway, I am creating an instance of Word on the first use of Spellchecker, then leaving it for subsequent calls. Sometimes, not always, the subsequent calls don't bring the spellcheck window to the front/focus so I get a hung app. Because the users can't see the citrix desktop, and never will, they're unable to do a Ctrl - Tab to switch apps/focus. Trying to get them to do something that simple normally would be difficult anyways. So, any suggestions Sir ? Thanks in advance, just holler if you need to see my current code / app. Bob
__________________
"I dislike 7 am. If 7 am were a person, I would punch 7 am in the biscuits." - Paul Ryan, DailyRamblings |
|
|
|
|
|
#14 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Welcome to th Forums.
![]() Post what your doing. It shouldnt be an issue.
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 |
|
|
|
|
|
#15 |
|
New Member
Join Date: Jun 06
Posts: 6
![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Hiya RobDog, really great forum, I've added this to my list of resources. And really great work on this spellchceck class, it's fabulous! I'm playing around with it in VS2005 and all seems well in order. Learned a lot from it just about MSWord alone :-) I'm having difficulties with one thing, and that is when I set killme() to 'true', it likes to kill *all* instances of Word... even previously opened, mutually exclusive, documents. Now there's a fun trick to play on the enduser! lol. I wonder if anyone else has this issue and what they have done about it... I have a feeling I'm going to have to set the .doc to visible=false rather than the app itself, regardless, if I figure it out I'll post here.
Last edited by RobDog888; Jun 1st, 2006 at 06:13 AM. |
|
|
|
|
|
#16 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Thanks for the props
![]() Sounds like the KillMe property is not finding the instance of Word already open so when it closes it kills the Word application object even though you have child documents in it. You should only be executing the killme if your closing your program or you dont anticipate performing any more spellchecks. If you do another then it takes time for word to start again. I'm off to bed right now but what version of Word are you running? Can you test it a bit more and post the findings for me tomorrow (actually today. Its 4 am). I'll take a look at it in a few. Thanks
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 |
|
|
|
|
|
#17 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
@Proggy_Dylan
If your not going to include my copyright code comments in your program then there will be no support and I request that you remove it from your app. Your attachment has been archived and removed from your post. Thanks
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 |
|
|
|
|
|
#18 |
|
New Member
Join Date: Jun 06
Posts: 6
![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Sure thing, can do. I'm using Office 2003 on my development machine. I did a quick build and tried to run it on a machine that has Office 2002 and ran into an entirely different snag.. stdole version needs an upgrade in the global assembly cache... I think this means I need a reference to the older office objects as it can't load the office interop for version 11 on the machie with Office 2002 (duh). I'm not in any hurry so it may take me a couple of days... sleep well... 4am eh? bit of a workaholic? lol.
|
|
|
|
|
|
#19 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
lol yup
![]() If your creating a setup package and have the PIAs then you shouldnt have an issue but then again I havent had any other version other then 2003 so... Its supossed to be that when you use the PIAs you dont have to worry about versioning. You can always use late binding and remove the references to Office and Word. Then you would have to go and cast all your types correctly so you can use Option Strict still. Man, I got to stop posting and get some sleep. Should be up in a few hours though as I have to be up before 9am. 4.5 hours sleep should be good for a while.
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 |
|
|
|
|
|
#20 |
|
New Member
Join Date: Jun 06
Posts: 6
![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Ok, Bare with me... late binding has created a load of fun for me. I can see where this is going to solve my compatibility issues, but yeesh, VS2005 likes to complain about everything. Also, since I'm not familiar with working with MSWord this way, this is a bit of a learning curve --and to do it.. option stric has to be off.. late binding is not allowed otherwise... so no intellisense... AH!
Anyways... I've gotten this far with this challenge... 1. when I declare the moApp and oDoc as objects, it likes to complain about all the references to word.wsWindowState (says 'word' is not delared) 2. also complains about moApp.Dialogs(word.aWdWordDialog... (says 'word' is not declared) 3. It doesn't like the Direct Cast statement (says 'word.application' is not defined) if I replace the word. with moApp., and I sub in object for word.application in the direct cast statement, it builds fine, but it throws errors on the btn_click event saying that Public member 'WdWindowState' on type 'ApplicationClass' not found. I'm finding I don't know enough about how to talk to Word. I think. Oi.
|
|
|
|
|
|
#21 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Sorry for the delay but I had a project deadline due today.
Did you include at the top the "Imports Microsoft.Office.Interop"? for some of the unrecognized "word" codes try fully qualifing it like so... Microsoft.Office.Interop.Word.WdWindowState.wdWindowStateMaximize etc.
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 |
|
|
|
|
|
#22 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
You can also do ...
Imports Word = Microsoft.Office.Interop to initialize "Word" so it will be recognized when you go ... word.wsWindowState but shouldnt windowstate be wdWindowState and not wsWindowState.
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 |
|
|
|
|
|
#23 |
|
New Member
Join Date: Jun 06
Posts: 6
![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Delay? What delay? I'm happy to be getting the suggestions
Off to give it a try...
|
|
|
|
|
|
#24 |
|
New Member
Join Date: Jun 06
Posts: 6
![]() |
My Findings...
If you develop on a machine with VS2005 and Office 2003 but you want this code to work on a PC with Office XP
Hey again Robdog, and others... sorry for taking a long time to get back, I've been playing with the PIA's and learning the ins and outs, and how to get this code to work on an Office XP machine when compiling in a VS2005 environment with Office 2003 installed. I found the best way to get this to work is to simply to get the XP PIAs and reference them instead.. the idea being building from the lowest common denominator will ensure backward compatibility. So, for people doing what I'm doing here's an idea... 1) download the XP PIA's available from Microsoft. http://www.microsoft.com/downloads/d...displaylang=en 2) Extract them to some folder in your project dir (anywhere is ok, but for this example I'm saying extract to a folder named XP_PIA_COMs) 3) In visual studio...drop the project's reference to the version 11 (Office 2003) Microsoft.Office.Interop.Word.dll 4) Finally, Add a new reference to the OFFICE XP COM library by browsing to the XP_PIA_COMs directory chosing Microsoft.Office.Interop.Word.dll. Now it will build properly using Early binding, it will run on a machine with Office 2003 and will also be backwards compatible to Office XP machines. KEEP IN MIND, if you already develop on a machine with Office XP, you will by default have the XP (2002) PIAs, *and* you have less chance of encountering any issues. A note re Late Binding: I believe even if you were to do this using a late binding reference, you would still have to have the XP PIAs. Late binding is a pain in VS2005 and this is by far an easier out... in my humble opinion. |
|
|
|
|
|
#25 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Glad to see that you got it working now. Like I posted in #25, using the PIAs is a big advantage and makes life easier.
When needing to Late bind, you should add the reference like your early binding so you can get all the intellisense. Then when finished you can remove the reference and convert to late binding.
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 |
|
|
|
|
|
#26 |
|
New Member
Join Date: Jun 06
Posts: 6
![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Sweet idea! I never would have thought of that. :-)
|
|
|
|
|
|
#27 |
|
Learning .Net
Join Date: Aug 04
Location: VBForums
Posts: 5,075
![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Dear Rob,
Can we restrict the editing in the first box?
__________________
Please mark you thread resolved using the Thread Tools as shown ![]() If my post was helpful to you, then Rate it ![]() www.techreceipe.com Tier Architecture |
|
|
|
|
|
#28 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
How do you mean? In the Word Spell Checking Dialog?
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 |
|
|
|
|
|
#29 |
|
Learning .Net
Join Date: Aug 04
Location: VBForums
Posts: 5,075
![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Dear Rob,
Is it able to disable editing in the Not in Dictionary Box?
__________________
Please mark you thread resolved using the Thread Tools as shown ![]() If my post was helpful to you, then Rate it ![]() www.techreceipe.com Tier Architecture |
|
|
|
|
|
#30 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
There is no built in property or support for disabling the textbox but perhaps by subclassing the dialog window and sending a disable message it will work but allot of work for a small feature. Couldnt you just check after the dialog is dismissed?
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 |
|
|
|
|
|
#31 |
|
Banned
Join Date: May 07
Location: idk
Posts: 4
![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Warning 1 Function 'SpellMe' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used. 37 40 Programmers_Editor_v1
I keep getting this warning, and I can't fix it. Also, When I run it, everything runs fine, exept for when I want to check the spelling and I press the button, it doesn't do anything. Do you know what names I should give my text box and button? Here is my code. vb Code:
Last edited by ScriptKing1; May 3rd, 2007 at 04:44 PM. |
|
|
|
|
|
#32 |
|
New Member
Join Date: Jun 07
Posts: 6
![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Hello,
Sweet module, I have used the one that pops up Word in the past, but this one rocks! Anyway... I am using Office 2007 and at first it gave me an "Unsupported Office" error, but adding 12.0 to the moApp check works. Will that come back and bite me in the butt later or... tnx ~j |
|
|
|
|
|
#33 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
You can use Late Binding so you can support multiple version of Word.
See my Office FAQ (link inmy signature).
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 |
|
|
|
|
|
#34 |
|
Hyperactive Member
Join Date: Nov 04
Posts: 285
![]() |
thanks for the code. I'm using it in office 2003 + vb .net 2005 express. I found, sometimes, the word window will not close after the spell checker finish the work. is it normal? or, something I missed?
I noticed that if I only do spell check, it is ok. the problem always happens when I do grammer check. anyone knows the reason? how to close it? thanks bear |
|
|
|
|
|
#35 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Thanks.
Doing a grammer check only or together with a spell check?
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 |
|
|
|
|
|
#36 | |
|
Hyperactive Member
Join Date: Nov 04
Posts: 285
![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
I checked it. It doesn't matter doing grammer check only or with spell check, or spell check only. There is no WORD running at the background. When I do the check (grammer or spell) in the first time, it is always ok. WORD disappeared. But, in the background, there is a WORD process. So when you check it in the second time, if the text has error (grammer or spell), the WORD will show up and do the check, but it will not become disappear when the check finished. There is a WORD window (no doc in it) at the bottom. Sometimes, this focus will not come back to the program which calls the checker class. This WORD window gets the focus (although it is minimized).
I think the problem is: the checker class didn't quit WORD correctly. I changed the code: [vb] If KillMe = True Then moApp.Visible = False End If [/vb] to [vb] Dim Ret As Boolean = KillMe ' just use the property's Get moApp.Visible = False [/vb] The WORD window won't show up (of course, ), but the WORD process is still there, didn't quit. And sometimes, the spell checker window shows at below the current forum although it got focus.I'm using winxp pro, vb express 2005 and XP_PIA_COMs (explained in #27). I'll check more. thanks bear Quote:
|
|
|
|
|
|
|
#37 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
Is this on 2005 or 2003? In 2005 the GetObject function is flakey at best.
Edit: I see it is 2005. I may have to update the article for 2005
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 |
|
|
|
|
|
#38 |
|
Hyperactive Member
Join Date: Nov 04
Posts: 285
![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
I noticed that in debug mode, this happens 1 out of 3 times, but if I run the program in release mode, this does not happen very often, but it happens.
Right now, what I do is: when spell checker is launched, I check the process, if WinWord existed, then I ask users save and quit it. Then, in program, I use ' ''If KillMe = True Then ' '' moApp.Visible = False ' ''End If Code:
Try
moApp.Quit(False, Nothing, Nothing)
Catch ex As Exception
gcLog.LogInfo("WORD Quit Error!")
Finally
moApp = Nothing
End Try
Code:
If KillMe = True Then
moApp.Visible = False
End If
users have to save & quit word before launch spell checker; But I do have a question. When the spell checker is launched in the first time, it takes some time, since it needs lauch WORD. In the program I quit WORD. SO, I think when I launch spell checker in the second (or later) time (without quiting the program which launch spell checker), it SHOULD take some time too since it will launch WORD again. However, I found in the second time, it is very fast, just like WORD is launched already although I can't see the process WinWord. Actually, fast is good, just feel weird. Maybe it has certain relation with the OS? I guess, ![]() bear |
|
|
|
|
|
#39 |
|
Super Moderator
Join Date: Apr 01
Location: LA, Calif. Raiders #1 AKA:Gangsta Yoda™
Posts: 58,875
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
No, if its not properly disposed of it will retain it in memory which is why the second run will be fast just like other second or subsequent runs. This is only for when there is an issue quitting word.
If you have it set so Word is destroyed each time with the KillMe = True, cause no running instance of Word was detected, then it will start up a new instance off Word and be slow. You can get over this by starting Word hidden when your app starts. Then it will just add docs and close docs as you spell check and be fast all the time. Then upon the app closing you kill that instance of Word.
__________________
VB/Office Guru™ (AKA: Gangsta Yoda™ I dont answer coding questions via PM. Please post a thread in the appropriate forum. ![]() ![]() Microsoft MVP 2006, 2007, 2008, 2009, 2010 Office Development FAQ (VBA, VB 6, VB.NET, C#) Software Engineer MCP (VB 6 & .NET), BSEE, CET If a post has helped you then Please Rate it! • Star Wars Gangsta Rap • Reps & Rating Posts • VS.NET on Vista (New) • Multiple .NET Framework Versions (New) • Office Primary Interop Assemblies • VB/Office Guru™ Word SpellChecker™.NET • VB/Office Guru™ Word SpellChecker™ VB6 • VB.NET Attributes Ex. • Outlook Global Address List • API Viewer utility • .NET API Viewer Utility • System: Intel Core 2 Extreme Ed., 2 WD Raptor 10K RPM 150 GB HDs RAID 1, 2 GBs DDR2 667 MHz RAM, 3 Viewsonic 17" LCDs, Windows Vista RTM, IE 7, Office 2007 |
|
|
|
|
|
#40 |
|
Hyperactive Member
Join Date: Nov 04
Posts: 285
![]() |
Re: Advanced VB/Office Guru™ Word SpellChecker™.NET
does it mean if the PC installed office 2007, then we have to use PIA for 2007 and recompile the program? if a PC installed PIA2007, and word 2002, will it work? how about on vista? anyone knows?
thanks bear |
|
|
|
![]() |
|
||||||
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | |
| Display Modes | |
|
|