OLE2 with MS Word -- Table Handling

Dear All,
Im using forms 6i.
Im generating a word document from forms.
That word document is a template.
In that template im placing data at runtime..
My MS Word template has one table with 6 columns and 15 rows...
But at runtime i may get data more than 15 rows...
So whenever start printing 16th row im getting non-oracle exception.
How to overcome this...
Im writing data into table cells as followin
procedure SetCellText (DocumentHandle in OLE2.OBJ_TYPE,
                         ThisTable      in PLS_INTEGER,
                         CellColumn     in PLS_INTEGER,
                         CellRow        in PLS_INTEGER,
                         Text           in VARCHAR2) is                   
    hCell  OLE2.OBJ_TYPE;   
    hRange OLE2.OBJ_TYPE; 
    begin
        hCell := GotoCell(DocumentHandle,ThisTable,CellColumn,CellRow);
        hRange := OLE2.GET_OBJ_PROPERTY(hCell,'Range');
        OLE2.SET_PROPERTY(hRange,'Text',Text);
        OLE2.RELEASE_OBJ(hRange);
        OLE2.RELEASE_OBJ(hCell);
    end;    SetCellText(hRange,1,1,v_row,runtimevalue); Is that possible to insert new row at the end of the table ?

Thanks InoL.....
Your Hint Macro did the job...
I created a Macro In the word template to add new row dynamically...
Then i Run the Macro from my forms as following..
=============== Created Macro in word template========================
Sub AddNewRow1()
Dim oTable As Table
Dim oCell As Cell
Dim oPrevRow As Row, oNewRow As Row
Dim iColumn As Long
Set oTable = ActiveDocument.Tables(3)
Set oPrevRow = oTable.Rows(oTable.Rows.Count)
oTable.Rows.Add
Set oNewRow = oTable.Rows(oTable.Rows.Count)
End Sub
===========================================================
================ Executing Macro from forms==========================
ARGS := OLE2.CREATE_ARGLIST;
OLE2.ADD_ARG(args, 'AddNewRow');
OLE2.INVOKE(application,'Run',args);
OLE2.DESTROY_ARGLIST(ARGS);
============================================================

Similar Messages

  • Problems with saving Word 2007 table as PDF

    I have a table in MS Word 2007 with some merged cells. If I use the Save as ... PDF or XPS option in Word 2007 to save this document as a PDF, the resulting PDF has a table with a discontinuous table grid. The table lines around the cells are broken.
    Is this a problem with the Word table or does the Save as PDF command not work well with tables.
    Thanks,
    Karl Smith

    What versions of both programs and how did you create the PDF? Can you post an example of the PDF?

  • Resize Word-Tables with ABAP

    Hi,
    I have a Problem by creating a Word-Table using the OLE2-Interface!
    I created the Table with 5 rows and 3 columns. Everything perfect
    But now I want to Resize the first Column. My Code is the following:
    CREATE OBJECT o_word 'Word.Application'.
    SET PROPERTY OF o_word 'Visible' = '1'.
    GET PROPERTY OF o_word 'Documents' = o_documents.
    CALL METHOD OF o_documents 'Add'
      EXPORTING
      #1 = 'normal.dot'.
    GET PROPERTY OF o_word 'ActiveDocument' = o_actdoc.
    GET PROPERTY OF o_word 'Selection' = o_selection.
    GET PROPERTY OF o_actdoc 'Tables' = o_tables.
    GET PROPERTY OF o_selection 'Range' = o_range.
    CALL METHOD OF o_tables 'Add' = o_table
      EXPORTING
      #1 = o_range
      #2 = '5'
      #3 = '3'.
    GET PROPERTY OF o_selection 'Columns' = o_column.
    CALL METHOD OF o_column 'SetWidth'
      EXPORTING
        #1 = '196.8'
        #2 = '0'.
    Unfortunately nothing happened
    Can anyone help me?
    The VB Code to Set the Width of a column is:
    Selection.Tables(1).Columns(1).SetWidth ColumnWidth:=196.8, RulerStyle:=wdAdjustNone

    Hello Christian,
    I made some changes to your code:
    CALL METHOD OF o_tables 'Add' = o_table
      EXPORTING
      #1 = o_range
      #2 = '5'
      #3 = '3'.
    GET PROPERTY OF o_table 'Columns' = o_columns.
    CALL METHOD OF o_columns 'Item'  = o_column
      EXPORTING
        #1 = '1'.
    SET PROPERTY OF o_column 'Width' = 24.
    so you do not need to find an object, you just created again via "Selection"...
    I managed to set the Width property, which worked, but unfortunatlly only in POINTS.
    I assume the method <b>SetWidth</b> is not supported because of it's parameter types.
    -> OLE2 is not a prefered interface anymore
    If you find my answer useful, please don't forget the reward.
    Regards,
    Juergen

  • Word 2010 with Embedded Excel table becomes oversized for RDP users

    I originally asked this question on the SharePoint Online forums as this was the first time we've seen this issue. Original Post
    Summarized: we have a Word template with embedded Excel table created in SharePoint Online, and when a RDP user opens it, the document correctly opens in the local version of Word 2010 (not Word Online).   When the table is edited, it becomes
    larger to the point you can no longer view the entire table. 
    We have done some testing with Word 2010 outside of RDP and everything works correctly, the embedded Excel table doesn't become oversized and works as expected.  It seems to definitely be an issue with RDP and I've been looking for any assistance
    on resolving this issue.  I recently did some further testing and found that the only time the table becomes oversized and not view-able is when you copy and paste information from an existing 2003 Excel document.  I would think this is the issue,
    but it doesn't happen when working with Word and SharePoint outside of an RDP environment. 
    The template is a .docx file. All RDP users are in a 2008 R2 environment.

    I did some testing over the weekend and the simple answer to your question - Not always.
    I found 2 variables which seem to cause this to happen:
    1) We have 2 TS servers - one with IE 9, which remains to maintain support for a legacy app which will not work with IE 10 or 11, and one with IE 10.
    2) Screen resolution of the client computer - it seemed that systems with video configurations which could not exceed the maximum of 1280x1024 (the same screen resolution as our TS servers) didn't experience the issue.  There were some laptops
    and higher end systems with widescreen monitors, where this was an issue.  They typically didn't have a 1280x1024 option; yet even if they did they would experience the same issue, just not as pronounced.
    It also seems to only occur when a user copies and pastes information from Excel 2010 into the embedded Excel table in Word 2010.  Again, only within RDP.  On those client computers which had the problem, I could perform the same function outside
    of RDP without any problems.  However, this is not an ideal format for the chefs as they will frequently be moving between different systems during the day.

  • Inserting an image into a Word Table with the Report Generation Toolkit.

    I was wondering if it was possibe to use the Report Generation Toolkit to place an image into the cell of a table in a Word document?
    Solved!
    Go to Solution.

    Hi,
    Yes, you can do this by using the Word Edit Cell VI under Report Generation>>Word Specific>>Word Tables in your block diagram functions pallette.  After creating a table, you can edit specific cells and send the file path of the image saved on your computer to that specific cell.  I put together an example that I've attached here as well to help you out with this.
    Regards,
    Austin S.
    National Instruments
    Academic Field Engineer
    Attachments:
    RGTWordImageInTable.vi ‏14 KB

  • Cannot search file content on Word document with embedded Excel table

    Cannot search file content on Word document with embedded Excel table. I have Windows 8.1 64-bit and Office 2010 Professional. Only phrases from within Excel tables are not searchable. I have many Word documents with embedded Excel table.
    I use it for my invoices. Those invoices are converted to pdf to be sent via mail. Searching the same phrases in related pdf files Works fine. And yes, folders are indexed, searching service is active......... For example I can find all invoices that have
    specific address or name, which is located in word document, but cannot find invoices with specific item name or price, being that information is in embedded Excel table. (not linked, embedded). I thought that is a question for Windows forum, but guys directed
    me here on Office forum. To clarify, I do not use Ctrl+F inside some document, but Windows Search in my folders. Probably the same happens in Office 2013.
    Thank you.

    Hi, I have a lot of Word documents (invoices, offers). Main part of those documents is embedded Excel file because it is easier to do mathematics in Excel than in Word. There are columns with description, unit price, quantity, taxes... Now, I need
    to find who bought HP switch 2530-24G last year. I open folder with last year invoices and search "2530". Cannot find any. But if that document was converted to pdf for mail, than I can find that phrase. Windows search does not work for content if the content
    is in embedded file.

  • Acrobat Pro XI Will Not Print Word Document with a Rotated Table

    I have a MS Word document that is mostly text, but include a table that has been rotated in a text box to fit on the page.  When I try to print to PDF using Acrobat Pro XI, the document crashes at the page the table is on.
    I have tried several attempts to print using the Acrobat Printer, convert to PDF feature and trying to print just the page alone.  Acrobat will simply not print word document with a rotated table.
    Any idea how to fix this?
    Word 2013, Windows 7, Acrobat Pro XI 11.0.06

    In the full document, the print to PDF goes only as far as the table, then ends - not printing the table.  The remaining pages are not printed.
    For example, I have trimmed the file down to just the table page, and included links to it, and a copy of the PDF it generated.
    https://dl.dropboxusercontent.com/u/60543835/Forums/Table%20Sample_140903.docx
    https://dl.dropboxusercontent.com/u/60543835/Forums/Table%20Sample_140903.pdf
    The error message I now get when I try to print is: "There is not enough memory or disk space to repaginate or print this document."
    However, with the Task manager open, the memory never seems to get above half of the available (the graph bar fluctuates a little, but stays stable")
    The page prints to a regular HP or Xerox printer with no problems. 

  • Can I use Word tables in InDesign?  Any way to import tables made with Word?

    Hi, I'm new here...  Well, the title says it all: I need to use (basically unchanged) nearly 100 tables from a book made recently with Word... Can I import them?
    It wouldn't be a problem making one new one (lines, etc...) with InDesign and then fill with text, but...  why repeat 100 different tables (that's my case) already done I can use without changes...  There must be a way to at least place a Word table into an ID document...  Thanks for all kinds of comments!

    OK, this looks like great news for me... So I understand ID places the Word table, and once inside ID, indeed ID sees it as a table you can vary... Is there any basic menu to vary one imported table, or is it a graphic (mouse) thing?  I really appreciate your advice, Bob...  I don't have much experience with tables in ID...  For example, how can I make the whole table smaller? Only by varying the placing of the lines one by one, or can I make it smaller in the way we make a jpg smaller?

  • Word table boarder conversion problems with shaded cells

    Hi
    We are using Adobe Acrobat 9 and Word 2003
    When one of our users converts a document that contains word tables that have shading in them some of the cell boarders are missing on the PDF.
    If you remove the shading and convert the document the table boarders are displayed correctly.
    Does anybody have any idea if this is a known issue with Acrobat or is there a setting that needs to be chnaged to get this to work?
    Many thanks for your help in advance
    Michael

    What versions of both programs and how did you create the PDF? Can you post an example of the PDF?

  • Need help with Tables Handling

    This is a tricky problem, maybe not for you guys, here it is:
    I have a table with 4 colums and N rows, i want to write data (int) on the 1st and 3rd columns and In the 4th column I want to show up the result of 1st X 3rd (1st times 3rd), I tried many times but so far I've got nothing good, some help would be appreciated, thank you! ; )

    I have a table with 4 colums and N rows, i want to
    write data (int) on the 1st and 3rd columns and In
    the 4th column I want to show up the result of 1st X
    3rd (1st times 3rd), I tried many times but so far
    I've got nothing good, some help would be
    appreciated, thank you! ; )Here you go:
    int n = 10; // number of rows
    int[][] table = new int[n][4];
    // 4th column from the first row = the 1st column multiplied with the 3rd
    table[0][3] = table[0][0] * table[0][2];

  • New MBP, and am having memory trouble errors with MS Word 2004

    Hi,
    I know this has been talked about before, but I'm not sure where to post this question. I have a new MBP, with a full version of Word (no previous trial software installed). I have been trying to copy and past basic text files from Yahoo mail, to create a book of emails of sorts. My file size has been approaching my memory capacity (basic setup). Does it not create a swap file and let you keep going if you approach the limits of the onboard memory? I understand it will run a bit slower, but I'm only moving text files and nothing else. Why the proverbial memory/disk full error messages? Does it have anything to do with the software being non universal code?
    Do I need to get rid of temporary files, as Im copying and pasting alot? If so, how?
    Anyone have the same trouble, and have a clear solution? I could also swear my MPB is running alot slower with Word than I would have expected.
    Any help you can give me would b appreciated.
    Thanks,
    Dave

    I’ll try to answer your questions briefly without going into too much detail. First of all, I think the error message you are seeing is generated by MS Word and not your operating system. That particular error, and other similar ones, are quite common in Word in particular situations and are the result of a known bug.
    As far as I know, there is no fix, but there are several work-arounds. The bug has to do with the number of temporary files that get created when working with large Word files. As you might guess, the larger your file, the larger the temp files, and they will quickly fill up your existing RAM, which then causes the error that generates the message. You have to delete the temp files---you can do that by saving and closing your file, then restart it. There are some scripts you can run, but that is beyond what I want to get into here (and usually is not necessary).
    The other problem is that by copying and pasting text from Yahoo Mail, you are not pasting simple text---you are pasting all the HTML code, formatting, and everything else that is contained in that text. And Word saves it all, then adds its own formatting and other code---leading to corrupt files sooner or later.
    And then, to make it all worse, if your file is as large as you say it is (close to system memory in size), that is one huge Word file, and Word does not handle really large files very well, especially Word 2004, but all versions of Word, Windows versions included, have trouble with large files.
    Word does in fact run slowly on even the newest MacBook Pros because Word is not yet compiled for the Intel Macs and does not run natively as a universal binary but runs under Rosetta, which translates Word to run on Apple computers running Intel CPUs. If you are working with small files, it isn’t too bad, but big files will slow it down to almost a crawl at times, or it will even stop responding for several seconds between each command.
    You can work around these problems by breaking your file into much smaller ones, save often (and close the file once in while), and save as a text file, rather than as a doc file.
    An alternative is to use another word processor or text editor to save your copied text---there are many that will work as well as or better than Word for what you want to do. Pages is a good alternative----I have to collaborate on Word files every day, and I prefer to work on my MacBook Pro (although I also use Windows-based computers about as frequently, too), and except for the most complex Word files with tables, charts, and pictures, Pages works very well, and you can save the file as a Word document, too, if you need to.
    Hope that answers some of your questions----and always remember….I could be wrong.

  • VERTICAL ALIGNMENT ON WORD TABLE IS MISS.

    Hello everybody,
    Can somebody clear my mind? I did the code below, and this generates a beautiful and clean table on word 2010. The problem is that the instruction “.Rows.Height = 8” and 
    “.Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter” seems
     not work, besides, when I try to adjust the rows height and vertical alignment by myself, after routine generates the table of course, Word don´t allow me to do these adjustment by hand.
    The property “.Rows.Height = 8” seems to be working, because when I change to “.Rows.Height = 25” the rows height really goes to it, also, there is no problem with horizontal alignment, this is work very fine.
    Working with VS 2012 and Word 2010.
    Tried everything, no result….
    Thank you.
    Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
    Dim WA As New Word.Application
    Dim WD As Word.Document
    Dim WS As Word.Selection
    Dim model_address, mes_extenso, texto, texto_ref, pic_address As String
    model_address = Application.StartupPath & "\GTMS_MDL.docx"
    pic_address = Application.StartupPath & "\PIC\TABELA01.png"
    WD = WA.Documents.Open(model_address, [ReadOnly]:=True)
    WS = WA.Selection
    Dim WT1 As Word.Table
    Dim WR1 As Word.Range
    Dim lin_wt1, lin_wt2, lin_wt3 As Integer
    lin_wt1 = 3
    WT1 = WD.Tables.Add(WA.Selection.Range, lin_wt1 + 2, 5)
    With WT1.Range
    .ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter
    .Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalBottom
    .Rows.Shading.BackgroundPatternColor = Word.WdColor.wdColorAqua
    .Rows(1).Shading.BackgroundPatternColor = Word.WdColor.wdColorBlueGray
    .Rows.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleSingle
    .Columns.Borders.InsideLineStyle = Word.WdLineStyle.wdLineStyleSingle
    .Font.Bold = True
    .Font.ColorIndex = Word.WdColorIndex.wdWhite
    .Rows.Height = 8
    .Columns(1).Width = 30
    .Columns(2).Width = 350
    .Columns(3).Width = 40
    .Columns(4).Width = 50
    .Columns(5).Width = 50
    .Font.Size = 7
    End With
    WT1.Range.Text = ""
    WT1.Cell(1, 1).Range.Text = "ITEM"
    WT1.Cell(1, 2).Range.Text = "DESCRIÇÃO"
    WT1.Cell(1, 3).Range.Text = "QTD."
    WT1.Cell(1, 4).Range.Text = "UNIT."
    WT1.Cell(1, 5).Range.Text = "SUBTOTAL"
    For i = 0 To lin_wt1
    WT1.Cell(i + 1, 2).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft
    Next
    For i = 0 To lin_wt1 - 1
    WT1.Cell(i + 2, 1).Range.Text = i + 1
    WT1.Cell(i + 2, 2).Range.Text = DGV1.Rows(i).Cells(2).Value
    WT1.Cell(i + 2, 3).Range.Text = DGV1.Rows(i).Cells(3).Value
    WT1.Cell(i + 2, 4).Range.Text = DGV1.Rows(i).Cells(4).Value
    WT1.Rows(i + 2).Range.Font.ColorIndex = Word.WdColorIndex.wdBlack
    WT1.Rows(i + 2).Range.Font.Bold = False
    Next
    WT1.Cell(lin_wt1 + 2, 1).Merge(WT1.Cell(lin_wt1 + 2, 2))
    WT1.Cell(lin_wt1 + 2, 2).Merge(WT1.Cell(lin_wt1 + 2, 4))
    WT1.Cell(lin_wt1 + 2, 1).Range.Text = "TOTAL GERAL"
    WT1.Rows(lin_wt1 + 2).Range.Font.ColorIndex = Word.WdColorIndex.wdDarkRed
    WT1.Rows(lin_wt1 + 2).Range.Font.Size = 10
    WT1.Cell(lin_wt1 + 2, 1).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft
    WT1.Cell(lin_wt1 + 2, 2).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter
    WT1.Cell(lin_wt1 + 2, 2).Range.Text = FormatCurrency(12560, 2)
    WA.Visible = True
    WA = Nothing
    WD = Nothing
    WS = Nothing
    End Sub

    Hi,
    >>The problem is that the instruction “.Rows.Height = 8” and 
    “.Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter” seems
     not work, besides, when I try to adjust the rows height and vertical alignment by myself, after routine generates the table of course, Word don´t allow me to do these adjustment by hand.
    The property “.Rows.Height = 8” seems to be working, because when I change to “.Rows.Height = 25” the rows height really goes to it, also, there is no problem with horizontal alignment, this is work very fine<<
    I am not able to understand the issue exactly. Can you set the height for the rows using Rows.Height? I made a quick test using VBA based on the code above, it works well for me. And I can also adjust by hand after run the code.
    >> “.Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter” seems
     not work<<
    What effect did you want to achieve? Based on the code samlpe you were setting the verical alignment to bottom however the description are center. Both center and bottom for the vertical alignment works well for me.
    I would suggest that you test the code using a new document to see whether the issue is realtive to the specific document. Here is the test code in VBA for your reference:
    Sub test()
    Dim WA As New Word.Application
    WA.Visible = True
    Dim WD As Word.Document
    Dim WS As Word.Selection
    Dim model_address, mes_extenso, texto, texto_ref, pic_address As String
    'model_address = Application.StartupPath & "\GTMS_MDL.docx"
    model_address = "C:\doc1.docx"
    'pic_address = Word.Application.StartupPath & "\PIC\TABELA01.png"
    Set WD = WA.Documents.Open(model_address, ReadOnly:=True)
    Set WS = WA.Selection
    Dim WT1 As Word.Table
    Dim WR1 As Word.Range
    Dim lin_wt1, lin_wt2, lin_wt3 As Integer
    lin_wt1 = 3
    Set WT1 = WD.Tables.Add(WA.Selection.Range, lin_wt1 + 2, 5)
    With WT1.Range
    .ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter
    .Cells.VerticalAlignment = Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter
    .Rows.Shading.BackgroundPatternColor = Word.WdColor.wdColorAqua
    .Rows(1).Shading.BackgroundPatternColor = Word.WdColor.wdColorBlueGray
    .Rows.Borders.OutsideLineStyle = Word.WdLineStyle.wdLineStyleSingle
    .Columns.Borders.InsideLineStyle = Word.WdLineStyle.wdLineStyleSingle
    .Font.Bold = True
    .Font.ColorIndex = Word.WdColorIndex.wdWhite
    .Rows.Height = 8
    .Columns(1).Width = 30
    .Columns(2).Width = 350
    .Columns(3).Width = 40
    .Columns(4).Width = 50
    .Columns(5).Width = 50
    .Font.Size = 7
    End With
    WT1.Range.Text = ""
    WT1.Cell(1, 1).Range.Text = "ITEM"
    WT1.Cell(1, 2).Range.Text = "DESCRI??O"
    WT1.Cell(1, 3).Range.Text = "QTD."
    WT1.Cell(1, 4).Range.Text = "UNIT."
    WT1.Cell(1, 5).Range.Text = "SUBTOTAL"
    For i = 0 To lin_wt1
    WT1.Cell(i + 1, 2).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft
    Next
    For i = 0 To lin_wt1 - 1
    WT1.Cell(i + 2, 1).Range.Text = i + 1
    WT1.Cell(i + 2, 2).Range.Text = "a" 'DGV1.Rows(i).Cells(2).Value
    WT1.Cell(i + 2, 3).Range.Text = "b" 'DGV1.Rows(i).Cells(3).Value
    WT1.Cell(i + 2, 4).Range.Text = "c" 'DGV1.Rows(i).Cells(4).Value
    WT1.Rows(i + 2).Range.Font.ColorIndex = Word.WdColorIndex.wdBlack
    WT1.Rows(i + 2).Range.Font.Bold = False
    Next
    WT1.Cell(lin_wt1 + 2, 1).Merge WT1.Cell(lin_wt1 + 2, 2)
    WT1.Cell(lin_wt1 + 2, 2).Merge WT1.Cell(lin_wt1 + 2, 4)
    WT1.Cell(lin_wt1 + 2, 1).Range.Text = "TOTAL GERAL"
    WT1.Rows(lin_wt1 + 2).Range.Font.ColorIndex = Word.WdColorIndex.wdDarkRed
    WT1.Rows(lin_wt1 + 2).Range.Font.Size = 10
    WT1.Cell(lin_wt1 + 2, 1).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphLeft
    WT1.Cell(lin_wt1 + 2, 2).Range.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlignParagraphCenter
    WT1.Cell(lin_wt1 + 2, 2).Range.Text = FormatCurrency(12560, 2)
    WA.Visible = True
    Set WA = Nothing
    Set WD = Nothing
    Set WS = Nothing
    End Sub
    Hope it is helpful.
    Regards & Fei
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Can't delete file after renaming due to Word file handle still present. Error staes document is still in use but it's really not. Worked fine in 2007 but not in 2010.

    I have some code associated with a Word Template. The template is opened, filled out and saved via a routing in vba. This all works fine in older 2007 version (which is version it was originally created in). Once this file is saved, the user can change the
    date in a text box and re-save document. The code saves using the new date for part of new file name and then deletes that older file from the server. It fails at the delete function because the newer version of word is not dropping the file handle from the
    first named file when user saves it to the new filename. In older version (2007) this handle was released as soon as file was saved to a different name. I can't seem to figure out how to release the old document filename so the old document file can be deleted.
    I hope I explained this well enough.
    Here's the code that woeked in version 2007 but fails in version 2010.
    Option Explicit
    Dim CAPEX01 As MSForms.ComboBox
    Dim CAPEX02 As MSForms.ComboBox
    Dim LocalPath As String
    Dim NetPath As String
    Dim OldPath As String
    Dim OldPathNet As String
    Dim DocName01 As String
    Dim DocName02 As String
    Dim DocName03 As String
    Dim DocName04 As String
    Dim DocName As String
    Dim DocNameold As String
    Dim TestDocName As String
    Dim filesys
    Dim newfolder
    Sub AutoOpen()
    ActiveDocument.ActiveWindow.View.Type = wdPrintView
    TestDocName = ActiveDocument.TextBox2
    OldPathNet = "\\yourPath\" & TestDocName & "\"
    End Sub
    Sub AutoNew()
    TestDocName = ActiveDocument.TextBox2
    OldPathNet = "\\yourPath\" & TestDocName & "\"
     ComboBox1.Locked = False
     ComboBox1.Enabled = True
     FillList1
     FillList2
     End Sub
    Sub DeleteOldDoc()
    OldPathNet = "\\yourPath\" & TestDocName ' & "\"
    DocNameold = OldPathNet & TestDocName & "-" & DocName02 & "-" & DocName03 & "-" & DocName04 & ".doc"
        If Not TestDocName = DocName01 Then
            Set filesys = CreateObject("Scripting.FileSystemObject")
        If filesys.FileExists(DocNameold) Then
            filesys.DeleteFile (DocNameold), True      
     'I get file permission error here
        End If
        End If
    If DocName01 <> "" Then
    If Not TestDocName = DocName01 Then
    If Not TestDocName = "" Then
        MsgBox "Project Proposal Has Been Moved From Year " & TestDocName & " To " & DocName01 & ""
    End If
    End If
    End If
    TestDocName = DocName01
    End Sub
    '''''''Document path functions''''''
    Sub chkpath()
    Set filesys = CreateObject("Scripting.FileSystemObject")
    If Not filesys.FolderExists("\\yourPath\") Then
       newfolder = filesys.CreateFolder("\\yourPath\")
    End If
    If Not filesys.FolderExists("\\yourPath\" & DocName01 & "\") Then
        newfolder = filesys.CreateFolder("\\yourPath\" & DocName01 & "\")
    End If
    End Sub
    ''''''Save Function''''''
    Private Sub CommandButton1_Click()
    DocName01 = ActiveDocument.TextBox2
    DocName02 = ActiveDocument.TextBox4
    DocName03 = ActiveDocument.TextBox1
    DocName04 = ActiveDocument.ComboBox1.Value
    chkpath
    NetPath = "\\yourPath\" & DocName01 & "\"
    DocName = NetPath & DocName01 & "-" & DocName02 & "-" & DocName03 & "-" & DocName04
    ActiveDocument.SaveAs2 FileName:=DocName, FileFormat:=wdFormatDocument
     ComboBox1.Locked = True
     ComboBox1.Enabled = False
     ComboBox2.Locked = True
     ComboBox2.Enabled = False
     TextBox1.Locked = True
     TextBox1.Enabled = False
     TextBox3.Locked = True
     TextBox3.Enabled = False
     TextBox4.Locked = True
     TextBox4.Enabled = False
     DeleteOldDoc
    End Sub
    Sub FillList1()
    Set CAPEX02 = ActiveDocument.ComboBox2
      With CAPEX02
          .AddItem "CASTING", 0
          .AddItem "HOT ROLLING", 1
          .AddItem "COLD ROLLING", 2
          .AddItem "FINISHING", 3
          .AddItem "PLANT GENERAL", 4
          .AddItem "MOBILE EQUIPMENT", 5
      End With
    End Sub
     Sub FillList2()
     Set CAPEX01 = ActiveDocument.ComboBox1
      With CAPEX01
          .AddItem "A Name", 0
          .AddItem "Another Name", 1
      End With
    End Sub
    Private Sub CommandButton2_Click()
        UserForm1.Show
    End Sub

    mogulman52 and Don,
    I went back and looked at my code and had already updated it to SaveAs in the new docx format. It still holds the lock handle in place until Word closes, unlike earlier versions which released the lock handle when you did a SaveAs.
    As a note, all my Word and Excel macro-enabled (dotm & xltm) templates are read only and are never filled in, prompting the user for a file name on any close event or if they run the code gets auto-named. I do the SaveAs and concatenate the file name
    from data on the document (or sheet) that has been filled in. During the SaveAs the docx gets saved to a network folder and also on a local folder. The lock gets renamed to the filename and remains until Word is closed.
    So my code still fails at the point noted below while trying to delete an old filename version after the file has been saved as a new filename in a new folder. So....
    The code is looking in the last folder where the docx file was saved for the older filename so it can be deleted. The newest docx version has already been saved in a different folder and has a new lock handle of its own. That lock is not my problem, it's
    the older file lock which really exists in the same folder as the first filename that the docx was saved to. It does not release that lock until I exit Word. My work around has been to instruct all users to manually delete the older version file.
    The other odd thing is this only happens when I run it from code, if you manually go through these steps with the SaveAs menu drop-downs in Word it will release the lock handle???
    Hope this isn't to confusing and thanks for all your suggestions and help.
    Sub DeleteOldDoc()
    OldPathNet = "\\yourPath\" & TestDocName ' & "\"
    DocNameold = OldPathNet & TestDocName & "-" & DocName02 & "-" & DocName03 & "-" & DocName04 & ".doc"
    If Not TestDocName = DocName01 Then
    Set filesys = CreateObject("Scripting.FileSystemObject")
    If filesys.FileExists(DocNameold) Then
    filesys.DeleteFile (DocNameold), True 'I get file permission error here- lock handle is still present from last SaveAs command in last folder where previous version of file was saved.
    End If
    End If
    If DocName01 <> "" Then
    If Not TestDocName = DocName01 Then
    If Not TestDocName = "" Then
    MsgBox "Project Proposal Has Been Moved From Year " & TestDocName & " To " & DocName01 & ""
    End If
    End If
    End If
    TestDocName = DocName01
    End Sub
    Glenn

  • Report Generation MS Word Table Bug

    Hi everybody,
    I am using Word 2010 and LV2010 and I am unable create a proper table with Word using the Report Generation Toolkit. Excel and HTML work fine, but Word fails. Not even the Examples work as they are supposed to.
    When using the attached VI (see screenshot below)
    the result appears as follows:
    Temperature
    Temperature
    Temperature
    Temperature
    Temperature
    Data 1
    Data 1
    Data 1
    Data 1
    Data 1
    Data 2
    Data 2
    Data 2
    Data 2
    Data 2
    Does anyone have an idea?
    Thanks in advance.
    ben
    Solved!
    Go to Solution.
    Attachments:
    test_table.vi ‏10 KB

    OK, if NI won't provide a workaround, I'll create my own:
    The problem stems from the fact that the NI Report Toolkit populate a Word table by first creating an empty table of the correct size, then placing the table contents into the copy buffer, then selects the whole table and uses Paste to push the data into the table. The problem is actually in Word, because in Word 2010 it interprets the contents of the copy buffer differently.
    The solution is to alter the data that gets pushed into the copy buffer by the NI Report Toolkit. To implement my fix, you will need to alter one VI of the NI Report Toolkit (so you might want to make a backup in case this stops it from working in other previous release of Word).
    Open [LabVIEW installation folder]\vi.lib\addons\_office\_wordsub.llb\Word_In​sert_Table.vi
    There is a nested for loop that interprets the provided string array data and reformats it into a long ASCII string for the copy buffer. It should look like this:
    Change the nested loop to look like this:
    The changes I've made are twofold:
    1. Within the inner loop, replace the "\n" char with a Tab character
    2. Just after the inner loop, add a new "concatenate strings" function that adds "\n".
    This alters the string that the toolkit places into the copy buffer. You should find that report tables now populate correctly in Word 2010!
    This is untested on previous releases of Word, and could possible introduce problems there, so if anyone could test this for me it would be most appreciated
    Best of luck!
    Thoric (CLA, CLED, CTD and LabVIEW Champion)

  • Data from word tables to excel master spreadsheet

    Hello, I'm looking to take data from my damage report forms that come in maybe 20 times a week. This data needs to goto a master excel spreadsheet. I've managed to find a macro that does this but it does not paste it into excel the way I require and also
    extracts data I do not require.
    The word document contains a column of headings on the left, these will be the master spreadsheet sheet column headers. These will be on the spreadsheet already so I don't need them copied. 
    The other  two columns contains the data I will need to xfer to excel. I was thinking bookmarks can help here but I'm unsure if these will save over from the original template?
    So,  if there is some code out there that can help, brilliant. It will be an excel macro in the master spreadshee. TThat takestthe datadfrom the active word doc or by selecting the word doc in its folder. 
    Fingers crossed.
    Joseph 

    Hi Joseph,
    You should be able to run below code to get the data out of the Tabel(s) of a Word Document from within Excel.
    You can modify the code accordingly to your needs to specify the range where you want the data to be copied.
    I have already slightly modified the code to skip the header information.
    Sub ImportWordTable()
    Dim wdDoc As Object
    Dim wdFileName As Variant
    Dim TableNo As Integer 'table number in Word
    Dim iRow As Long 'row index in Excel
    Dim iCol As Integer 'column index in Excel
    wdFileName = Application.GetOpenFilename("Word files (*.docx),*.docx", , _
    "Browse for file containing table to be imported")
    If wdFileName = False Then Exit Sub '(user cancelled import file browser)
    Set wdDoc = GetObject(wdFileName) 'open Word file
    With wdDoc
    TableNo = wdDoc.tables.Count
    If TableNo = 0 Then
    MsgBox "This document contains no tables", _
    vbExclamation, "Import Word Table"
    ElseIf TableNo > 1 Then
    TableNo = InputBox("This Word document contains " & TableNo & " tables." & vbCrLf & _
    "Enter table number of table to import", "Import Word Table", "1")
    End If
    With .tables(TableNo)
    'copy cell contents from Word table cells to Excel cells
    ' start with row 2 to skip headers
    For iRow = 2 To .Rows.Count
    For iCol = 1 To .Columns.Count
    ' Define starting point here
    Cells(iRow - 1, iCol) = WorksheetFunction.Clean(.cell(iRow, iCol).Range.Text)
    Next iCol
    Next iRow
    End With
    End With
    Set wdDoc = Nothing
    End Sub
    The source is this link:
    Export Word Table in Excel
    Also this Forum is more for generic Excel questions, for better response post in Excel For Developer Forum.
    Hope this helps,
    Daniel van den Berg | Washington, USA | "Anticipate the difficult by managing the easy"
    Please vote an answer helpful if they helped. Please mark an answer(s) as an answer when your question is being answered.

Maybe you are looking for