Microsoft Office Forums

Go Back   Microsoft Office Forums > >

Reply
 
Thread Tools Display Modes
  #1  
Old 06-14-2023, 10:08 AM
gmaxey gmaxey is offline Export values from one embedded worksheet to another embedded worksheet Windows 10 Export values from one embedded worksheet to another embedded worksheet Office 2019
Expert
Export values from one embedded worksheet to another embedded worksheet
 
Join Date: May 2010
Location: Brasstown, NC
Posts: 1,429
gmaxey is a jewel in the roughgmaxey is a jewel in the roughgmaxey is a jewel in the roughgmaxey is a jewel in the rough
Default Export values from one embedded worksheet to another embedded worksheet

Greetings from an Excel Nub.

I have an outdated Word form with an embedded excel spreadsheet. I need to move the values from the outdated form to an embedded excel spreadsheet in an updated Word form. See Old.jpg and New.jpg


Part of problem is the row headings in the old form do not align or match with the row headings in the new form.

I have cobbled together the following code which is working "reasonably" well: (will post in follow up because of length restrictions)




Questions:
1. Curious if anyone has suggestions for improving, simplifying, or abandoning this course altogether and doing this a different way.
2. You will see, I've added several "Kill time" features. During development and testing, I would frequently get the following error messages: (See Err 1.jpg and Err 2.jpg)
which are much less frequent with these hard coded delays. Anyone have ideas or suggestions as to why this happens and how to avoid completely?

Thanks
Attached Images
File Type: jpg Old.jpg (56.3 KB, 6 views)
File Type: jpg New.jpg (56.2 KB, 6 views)
File Type: jpg Err 2.jpg (16.1 KB, 6 views)
File Type: jpg Err 1.jpg (39.7 KB, 6 views)
__________________
Greg Maxey
Please visit my web site at http://www.gregmaxey.com/
Reply With Quote
  #2  
Old 06-14-2023, 10:10 AM
gmaxey gmaxey is offline Export values from one embedded worksheet to another embedded worksheet Windows 10 Export values from one embedded worksheet to another embedded worksheet Office 2019
Expert
Export values from one embedded worksheet to another embedded worksheet
 
Join Date: May 2010
Location: Brasstown, NC
Posts: 1,429
gmaxey is a jewel in the roughgmaxey is a jewel in the roughgmaxey is a jewel in the roughgmaxey is a jewel in the rough
Default

Here is the code:


Code:
Option Explicit
#If VBA7 Then
  Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#Else
  Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

Sub UpdateNewBook()
Dim oILS As InlineShape
Dim oApp As Excel.Application
Dim lngIndex As Long
Dim lngRow As Long, lngCol As Long, lngPause As Long
Dim varUR
Dim oRng As Excel.Range
Dim oDoc1 As Document
Dim oDoc2 As Document
  'Define the source and target documents.
  'The two documents are open.  The source document is the active document.
  If Documents(1).Name = "Target.docm" Then
    Set oDoc2 = Documents(1)
  Else
    Set oDoc2 = Documents(2)
  End If
  Set oDoc1 = ActiveDocument
  Set oILS = oDoc1.InlineShapes(1)
  On Error GoTo Err_Handler
  'Write the row heading column and column data to a array.
  With oILS
    .OLEFormat.DoVerb wdOLEVerbHide
    'Launch Excel
    Set oApp = .OLEFormat.Object.Application
    With oApp
      varUR = .Workbooks(1).Worksheets(1).UsedRange.Value
      'Close Excel
      .Quit
    End With
  End With
  'Kill some time
  Sleep 500
  Set oILS = Nothing: Set oApp = Nothing
  DoEvents
  Sleep 500
  DoEvents
  Set oILS = oDoc2.InlineShapes(1)
  With oILS
    'Kill some more time.
    For lngPause = 1 To 5
      DoEvents
      Sleep 100
      DoEvents
    Next lngPause
    .OLEFormat.DoVerb wdOLEVerbHide
    'Kill some more time
    For lngPause = 1 To 5
      DoEvents
      Sleep 100
      DoEvents
    Next lngPause
    Set oApp = .OLEFormat.Object.Application
    With oApp
      Set oRng = .Workbooks(1).Worksheets(1).Columns(1)
      For lngIndex = 1 To UBound(varUR)
        On Error Resume Next
        'Find the row heading in the target sheet that matches the row heading in the source sheet
        lngRow = .WorksheetFunction.Match(varUR(lngIndex, 1), oRng, 0)
        If Err.Number = 0 Then
          For lngCol = 2 To UBound(varUR, 2)
            'Write the values in the correct row
            .Workbooks(1).Worksheets(1).Cells(lngRow, lngCol).Value = varUR(lngIndex, lngCol)
          Next lngCol
        Else
          Err.Clear
        End If
      Next lngIndex
      .Workbooks(1).Save
      .Quit
    End With
  End With
lbl_Exit:
  Set oApp = Nothing
  Exit Sub
Err_Handler:
  If Not oApp Is Nothing Then
    oApp.Quit
  End If
  MsgBox Err.Number & " - " & Err.Description
End Sub
Reply With Quote
Reply



Similar Threads
Thread Thread Starter Forum Replies Last Post
Export values from one embedded worksheet to another embedded worksheet Link UserForm checkbox to corresponding shape on one worksheet and copy to 'template' worksheet kiwimtnbkr Excel Programming 23 10-08-2020 02:32 AM
Export Embedded Docs inside Word dhen21dx Word 2 03-25-2019 01:58 AM
How can I copy a worksheet and paste values to another new workbook ? DBenz Excel 1 01-26-2019 07:03 AM
Export embedded .txt or .csv file from Word bookmark to Access table field eric.okeefe Word VBA 4 08-29-2017 09:31 AM
Create Several PowerPoint Charts From One Embedded Excel worksheet Galapagos15 PowerPoint 0 10-30-2015 06:19 AM

Other Forums: Access Forums

All times are GMT -7. The time now is 07:12 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft