powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Извлечение втавленных таблиц Excel из Word обратно в Excel
29 сообщений из 29, показаны все 2 страниц
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33847363
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть документ ворд, туда вставлены таблицы Excel. Не поможет ли кто макросом, чтобы эти таблицы возможно было извлечь назад в Excel, причем в одну книгу, но на разные листы, причем, чтобы ярлыки листов назывались как таблицы?
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33848179
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неужели не нашел примеров на этот случай? :)

Я так понимаю у тебя таблицы представлены как встроенные объекты. Тогда можно воспользоваться следующим вариантом.

Код: plaintext
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 FromWordToExcel()
    Dim sh As Word.InlineShape
    Dim xlApp As Excel.Application
    Dim xlWb As Excel.Workbook
    Dim xlWbNew As Excel.Workbook
    Dim xlWs As Excel.Worksheet
    
    Set xlApp = New Excel.Application
    xlApp.Visible = True
    
    Set xlWbNew = xlApp.Workbooks.Add
    
    For Each sh In ActiveDocument.InlineShapes
        If sh.OLEFormat.ProgID = "Excel.Sheet.8" Then
            sh.OLEFormat.ActivateAs ClassType:="Excel.Sheet.8"
            sh.OLEFormat.Activate

            Set xlWb = sh.OLEFormat.Object
            Set xlWs = xlWbNew.Worksheets.Add
            
            xlWb.Worksheets( 1 ).UsedRange.Copy xlWs.Range("A1")
        End If
    Next sh
End Sub
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33848585
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНеужели не нашел примеров на этот случай? :) :) да, не нашел.
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33848603
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторDim xlApp As Excel.Application на это строке ругается так: компайл эрро. юзер тайп нот дефайнд
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33848831
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Библиотеку Excel подключил? Если нет, то Tools->References...->Microsoft Excel X.X Object Library.
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33848911
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AshtonБиблиотеку Excel подключил? Если нет, то Tools->References...->Microsoft Excel X.X Object Library. а по-русски? куда ее подключать, наверное к ворду? но там нет тулс-референс
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33848925
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видимо мне когда вордец устанавливали, эту тулзу не установили для него.
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33848933
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а понял, джаст э момент, плиз
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33848935
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вобщем в редакторе вижуал бэйсик референсес заблокированы:( придется дома изголяться
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33849005
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аштон, а если у объекта будет имя, присвоенное ему в ворде через контекстное меню - название, то каким макаром можно еще и это вывести, ну например в название ярлыков листа?
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33849364
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все сработало
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33849366
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прикинь, кто-то вставлял таблыцы в отчет, а их в одном месте не собрал, вот я теперь занимался бы тем, шо исправлял бы чьи-то недостатки неграмотной организации труда:)
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33849367
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторвобщем в редакторе вижуал бэйсик референсес заблокированы:( придется дома изголяться референсес были заблокированы потому, шо надо сначала перед запуском макроса залезть в вижуал бэйсик, так как после него референсес становятся неактивны.
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33849373
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
аштон, а если у объекта будет имя, присвоенное ему в ворде через контекстное меню - название, то каким макаром можно еще и это вывести, ну например в название ярлыков листа? - вот главный вопрос, которые остался
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33849942
Ashton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При добавлении названия появляется поле SEQ, которое использяется для нумерации элементов документа. Из этого поля и нужно извлечь название.

Попробуй следующий вариант.

Код: plaintext
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.
Private lngI As Long

Public Sub FromWordToExcel()
    Dim sh As Word.InlineShape
    Dim xlApp As Excel.Application
    Dim xlWb As Excel.Workbook
    Dim xlWbNew As Excel.Workbook
    Dim xlWs As Excel.Worksheet
    Dim strCaption As String

    Set xlApp = New Excel.Application
    xlApp.Visible = True
    
    Set xlWbNew = xlApp.Workbooks.Add

    For Each sh In ActiveDocument.InlineShapes
        If sh.OLEFormat.ProgID = "Excel.Sheet.8" Then
            sh.OLEFormat.ActivateAs ClassType:="Excel.Sheet.8"
            sh.OLEFormat.Activate
            
            Set xlWb = sh.OLEFormat.Object
            
            strCaption = fnFindField(lngI)
            
            Set xlWs = xlWbNew.Worksheets.Add
            
            xlWs.Name = strCaption
            xlWb.Worksheets( 1 ).UsedRange.Copy xlWs.Range("A1")
            
            lngI = lngI +  1 
        End If
    Next sh
End Sub

Public Function fnFindField(lngI As Long) As String
    Dim intPos As Integer
    Dim fld As Word.Field
    
    Do
        lngI = lngI +  1 
        intPos = InStr(ActiveDocument.Fields(lngI).Code, "SEQ")
    Loop Until intPos >  0 
    
    Set fld = ActiveDocument.Fields(lngI)
    
    fnFindField = Mid(Trim(fld.Code),  4 , _
      Len(Trim(fld.Code)) - InStr(Trim(fld.Code), "\") -  4 ) & " " & fld.Result
End Function
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33850546
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
этот кода выда ошибку вот здесь

Код: plaintext
Set xlWs = xlWbNew.Worksheets.Add
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33850761
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сработал первый код частично, таблиц где-то 100, а застопорилось все на 21:(
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33850779
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще раз запустил первый код, теперь застопорилось на 8 таблице.

выдал здесь ошибку
Код: plaintext
If sh.OLEFormat.ProgID = "Excel.Sheet.8" Then
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33850790
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
второй вылете тоже, но на 8 строке, опять ругнулся здэс


Код: plaintext
If sh.OLEFormat.ProgID = "Excel.Sheet.8" Then
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33851204
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
последний код выводит номера в ярлыки листов, но вылетают оба варианта:( вчера работал на компе помощнее, вылетело на 21 таблице. а сегодня на компе послабее на 8. шо делать, шеф. гипс снимают - клиент уезжает!
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33851217
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще раз запустил, вылетело сразу, выдал ошибку
Код: plaintext
xlWb.Worksheets( 1 ).UsedRange.Copy xlWs.Range("A1")
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33851300
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и написал авторметод Copy из класса Range завершен неверно
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33851403
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan33второй вылете тоже, но на 8 строке, опять ругнулся здэс


Код: plaintext
If sh.OLEFormat.ProgID = "Excel.Sheet.8" Then


точнее на 8 таблица написал

авторProgID для данного объекта отсутствует
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33851898
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нэт атвэта:(
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33852997
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
малчыт аштон:(
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33853033
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шо-то никто помочь не хочет. сколько не спрашиваю чего-то на этом форуме, не отвэчают. видимо помогать мне стало непопулярным заниятием%(
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33855568
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Аштон, а если упростить задачу? Все объекты (вложенные) не копировать, а сохранять в файлы. Из ворда объект открывается как лист эксель и это открытие можно привязать к макросу, дальше этот объект открывается как лист экселя уже в экселе. И потом просто требуется его сохранить под например названием : рис. такой-то номер. Если щелкнуть на по объекту и вызвать контекстное меню, то там пожно выбрать обпцию: Объект - Открыть и эта функция записывается в макрос.
...
Рейтинг: 0 / 0
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #33863609
Фотография Ivan33
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашел код в расширение темы

авторI have a have directory full of word documents=2E Each document=
>> has a standard Word =93table of contents=94=2E Each TOC has the same=
>> entry, specifically =936=2E Business Process=2E=94 Under this section=
>> is a table; It most likely will be on a different page (number)=
>> in each document=2E I'm trying to figure out how to open each word=
>> document & then copy the table in its entirety to an Excel=
>> spreadsheet=2E Loop and do the next file in the directory, and the=
>> program can keep adding to the same spreadsheet=2E
>>
>>I'm having some difficulty getting started on this since I=
>> haven't worked with VB & MS Word too much=2E Can anyone give me=
>> some pointers? Thanks!


авторAssuming you have the path in a textbox named txtDocsPath and the file names loaded into a listbox named lstWDocs:


Код: plaintext
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.
Private Sub mnuRipEmAll_Click()
   Dim pddFile As Integer
   For pddFile =  0  To lstWFiles.ListCount -  1 
       lstWFiles.ListIndex = pddFile
       ScanDocumentForTable txtDocsPath.Text, Left(lstWFiles.Text, Len(lstWFiles.Text) -  4 )
'remove file extension to make it easier to save as xls file
   Next pddFile
End Sub

Public Sub ScanDocumentForTable(sDocPath As String, wdDocName As String)
   Dim WordDocument As Object
   Dim wdApp As Object
   Set wdApp = GetObject("", "Word.Application")
   DoEvents
   wdApp.Application.Documents.Open sDocPath & wdDocName & ".doc"
   wdApp.Application.Visible = False
   DoEvents
   If wdApp.ActiveDocument.Tables.Count >=  1  Then
       Dim tblNumber As Integer
       For tblNumber =  1  To wdApp.ActiveDocument.Tables.Count
           If Left(wdApp.ActiveDocument.Tables(tblNumber),  9 ) = "Step Type" Then
               wdApp.ActiveDocument.Tables(tblNumber).Range.Copy
               Dim ExcelSheet As Object
               Set ExcelSheet = CreateObject("Excel.Sheet")
               ExcelSheet.Application.Visible = False
               DoEvents
               ExcelSheet.ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True
               ExcelSheet.ActiveSheet.Rows("1:1").Font.Bold = True
               ExcelSheet.Application.Cells.Font.Name = "Courier New"
               ExcelSheet.Application.Cells.Font.Size =  10 
               ExcelSheet.Application.Cells.EntireColumn.Autofit
               ExcelSheet.SaveAs sDocPath & wdDocName & ".xls" 
               ExcelSheet.Application.Quit
               wdApp.Application.Quit
               Set ExcelSheet = Nothing
               Set wdApp = Nothing
               Exit For
           End If
       Next tblNumber
   End If
End Sub
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Извлечение втавленных таблиц Excel из Word обратно в Excel
    #38939654
Sergard1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ivan33,
Оказывается все очень просто! У документ Word с расширением .docx изменить расширение на .ZIP. Заходим в архив и в директории word/embeddings Забираем свой EXEL документ.
С документом .doc фокус не работаем, его нужно сохранить как .docx
...
Рейтинг: 0 / 0
29 сообщений из 29, показаны все 2 страниц
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Извлечение втавленных таблиц Excel из Word обратно в Excel
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]