You are not logged in.

Dear visitor, welcome to Jabaco - Community. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

  • "Stefan Schnell" is male
  • "Stefan Schnell" started this thread

Posts: 102

Date of registration: Mar 13th 2009

Location: Oberirsen - Germany

Occupation: Senior Software Engineer

Hobbies: Programming aund Photography

  • Send private message

1

Thursday, April 16th 2009, 10:26pm

How to use JavaCOMBridge (JaCoB) with Microsoft Word

Hello community,
it is very easy to use COM with Java COM Bridge (JaCoB). You find JaCoB here. The first code is a class file, you find a detailed explanation here.

Jabaco Source

1
See the class file below


The second code is very easy to understand:

Jabaco Source

1
2
3
4
5
6
Dim oWord As New Word() 
oWord.visibleApp() 
oWord.openDoc "c:\\dummy\\test.doc" 
oWord.appendText "Blablabla" 
oWord.Terminate() 
Set oWord = Nothing


Cheers
Stefan
Visit my personal or commercial site
If you have questions or suggestions, write me an eMail or
meet me here

This post has been edited 7 times, last edit by "StefanSchnell" (Jun 21st 2009, 5:26pm)


Manuel

Administrator

  • "Manuel" is male

Posts: 256

Date of registration: Jul 16th 2008

Location: Erlangen, Germany

Occupation: Software Developer

Hobbies: Jabaco, game theory, text-mining

  • Send private message

2

Thursday, April 16th 2009, 11:02pm

thank you for the nice sample.

  • "StefanSchnell" is male
  • "StefanSchnell" started this thread

Posts: 102

Date of registration: Mar 13th 2009

Location: Oberirsen - Germany

Occupation: Senior Software Engineer

Hobbies: Programming aund Photography

  • Send private message

3

Sunday, June 21st 2009, 5:01pm

How to use Microsoft© Word® SpellChecking with Jabaco

Hello community,
here is a small extension of the class to use Word® spell and grammar checking.

Jabaco Source

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
'-Begin Class Word-------------------------------------------------------- 

  '-Constants------------------------------------------------------------- 
    Private Const wdStory = 6 
    Private Const wdMove = 0 

  '-Variables------------------------------------------------------------- 
    Private oWord As com#jacob#activeX#ActiveXComponent 
    Private oDocs, oDoc As com#jacob#com#Dispatch 

  '-Initialize------------------------------------------------------------ 
    Private Sub Class_Initialize() 
      Set oWord = New ActiveXComponent("Word.Application") 
    End Sub 

  '-Terminate------------------------------------------------------------- 
    Public Sub Terminate() 
      If oDoc <> Nothing Then
        closeDoc(False)
      End If
      oWord.invoke("Quit") 
      Set oDoc = Nothing 
      Set oDocs = Nothing 
      Set oWord = Nothing 
    End Sub 

  '-visibleApp------------------------------------------------------------ 
  '- 
  '- Show Word application 
  '- 
  '----------------------------------------------------------------------- 
    Public Sub visibleApp() 
      oWord.setProperty("Visible", True) 
    End Sub 

  '-openDoc--------------------------------------------------------------- 
  '- 
  '- Open a document 
  '- 
  '----------------------------------------------------------------------- 
    Public Sub openDoc(FileName As String) 
      Set oDocs = oWord.getProperty("Documents").toDispatch() 
      Set oDoc = com#jacob#com#Dispatch.call(oDocs, "Open", _ 
        FileName).toDispatch() 
    End Sub 

  '-newDoc----------------------------------------------------------------
  '-
  '- Create a new document
  '-
  '-----------------------------------------------------------------------
    Public Sub newDoc()
      Set oDocs = oWord.getProperty("Documents").toDispatch() 
      Set oDoc = com#jacob#com#Dispatch.call(oDocs, "Add").toDispatch()
    End Sub    

  '-closeDoc--------------------------------------------------------------
  '-
  '- Close the document
  '-
  '-----------------------------------------------------------------------
    Public Sub closeDoc(SaveChanges As Boolean)
      If oDoc <> Nothing Then
        com#jacob#com#Dispatch.call(oDoc, "Close", SaveChanges)
      End If  
    End Sub    

  '-appendText------------------------------------------------------------
  '- 
  '- Add a text at the end of the open document 
  '- 
  '----------------------------------------------------------------------- 
    Public Sub appendText(Text As String) 
      Dim oSel As com#jacob#com#Dispatch
      Set oSel = oWord.getProperty("Selection").toDispatch() 
      com#jacob#com#Dispatch.call(oSel, "EndKey", wdStory, wdMove) 
      com#jacob#com#Dispatch.call(oSel, "TypeParagraph") 
      com#jacob#com#Dispatch.call(oSel, "TypeText", Text) 
      Set oSel = Nothing
    End Sub 
    
  '-appendTextFromClipboard-----------------------------------------------
  '-
  '- Add a text from the clipboard at the end of the open document
  '-
  '-----------------------------------------------------------------------
    Public Sub appendTextFromClipboard
      Dim oSel As com#jacob#com#Dispatch
      Set oSel = oWord.getProperty("Selection").toDispatch() 
      com#jacob#com#Dispatch.call(oSel, "EndKey", wdStory, wdMove) 
      com#jacob#com#Dispatch.call(oSel, "TypeParagraph") 
      com#jacob#com#Dispatch.call(oSel, "Paste")
      Set oSel = Nothing
    End Sub    
    
  '-setTextToClipboard----------------------------------------------------
  '-
  '- Set the whole text of the document to the clipboard
  '-
  '-----------------------------------------------------------------------
    Public Sub setTextToClipboard
      Dim oSel As com#jacob#com#Dispatch
      Set oSel = oWord.getProperty("Selection").toDispatch() 
      com#jacob#com#Dispatch.call(oSel, "WholeStory") 
      com#jacob#com#Dispatch.call(oSel, "Copy")
      Set oSel = Nothing
    End Sub      
  
  '-checkSpelling---------------------------------------------------------
  '-
  '- Execute the spell checking
  '-
  '-----------------------------------------------------------------------
    Public Sub checkSpelling()
      com#jacob#com#Dispatch.call(oDoc, "CheckSpelling")
    End Sub
    
  '-checkGrammar----------------------------------------------------------  
  '-
  '- Execute the grammar check
  '-
  '-----------------------------------------------------------------------
    Public Sub checkGrammar()
      com#jacob#com#Dispatch.call(oDoc, "CheckGrammar")
    End Sub
'-End---------------------------------------------------------------------


And here is an example:

Jabaco Source

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Public Sub CheckSpelling_Click()
  Dim oWord As New Word()
  '-Create new document
    oWord.newDoc
  '-Set text from TextBox via ClipBoard in the Word document
    Clipboard.SetText(Form1.RichTextBox1.Text)
    oWord.appendTextFromClipboard
  '-Start check
    oWord.checkSpelling
    'oWord.checkGrammar
  '-Copy corrected text to clipboard
    oWord.setTextToClipboard
  '-Terminate Word
    oWord.Terminate
End Sub

Public Sub GetCorrectedText_Click()
  Dim Text As String
  '-Copy corrected text from ClipBoard to TextBox
    Text = Clipboard.GetText()
    Form1.RichTextBox1.replaceText Text, 0, Len(Form1.RichTextBox1.Text)
  Form1.Refresh
End Sub


Cheers
Stefan
Visit my personal or commercial site
If you have questions or suggestions, write me an eMail or
meet me here

  • "StefanSchnell" is male
  • "StefanSchnell" started this thread

Posts: 102

Date of registration: Mar 13th 2009

Location: Oberirsen - Germany

Occupation: Senior Software Engineer

Hobbies: Programming aund Photography

  • Send private message

4

Sunday, June 21st 2009, 5:24pm

New Version of JaCoB

Hello community,

since June the 8th there is a new version of Java COM Bridge, you can download the package here.

Cheers
Stefan
Visit my personal or commercial site
If you have questions or suggestions, write me an eMail or
meet me here

Rate this thread
WoltLab Burning Board