Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вытащить вложенные в ворд таблицы эксель, Есть кус кода. Вылетает на 8 и 21 таблиц 
:(
    Опции темы
Ivan33
  Дата 13.7.2006, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



Код
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
 
данный код вытаскивает вложенные как объекты таблицы эксель из ворда и вставляет в книгу эксель, причем ярлыки обзывает так, как были названы эти объекты в ворде. 

вылетает на 8 и 21 таблице (на 8 вылетает на слабом компе, 21 - помощнее)

Пишет для этой строки: 
Код

If sh.OLEFormat.ProgID = "Excel.Sheet.8" Then
 - ProgID для данного объекта отсутствует

Для этой строки: 
Код

xlWb.Worksheets(1).UsedRange.Copy xlWs.Range("A1") 
 -- метод Copy из класса Range завершен неверно

может кто помогчи?

 
PM MAIL   Вверх
cardinal
Дата 13.7.2006, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: нет
Всего: 99



Модератор: Перенесено из VB6. 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Ivan33
Дата 13.7.2006, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



кроме того, забыл сказать, в документе есть еще и диаграммы визио, их надо игнорировать 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0525 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.