Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Как получить доступ программными средствами к внедрённой в doc excel таблице?

Ответить
Настройки темы
Разное - Как получить доступ программными средствами к внедрённой в doc excel таблице?

Аватара для ivanhoe75

Старожил


Сообщения: 184
Благодарности: 0

Профиль | Отправить PM | Цитировать


Как получить доступ программными средствами к внедрённой в doc excel таблице? (к данным)

Отправлено: 12:06, 28-10-2013

 

Ветеран


Сообщения: 1651
Благодарности: 146

Профиль | Отправить PM | Цитировать


Нужны некие программные фишки, зависящие от языка программирования и прочих нюансов. Я вот точно знаю, что компилятор Фортрана Silverfrost FTN95 (при некоммерческом использовании бесплатный) имеет доступ к таблицам Эксель (через виджет "Браузер"). Но я никогда эту фишку даже не пробовал использовать. А нафига?

Экспортируйте таблицу Эксель в виде текст-файла, в любом доступном формате. Дальше разбирайтесь. Это намного проще будет.

Отправлено: 12:30, 28-10-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата ivanhoe75:
Как получить доступ программными средствами к внедрённой в doc excel таблице? (к данным) »
Например, так (пример для Microsoft Office 2003):
Код: Выделить весь код
Option Explicit

Sub Sample()
    Dim objInlineShape As InlineShape
    Dim objWorkbook As Object
    
    For Each objInlineShape In ThisDocument.InlineShapes
        If objInlineShape.Type = wdInlineShapeEmbeddedOLEObject Then
            If objInlineShape.OLEFormat.ProgID = "Excel.Sheet.8" Then
                objInlineShape.OLEFormat.Activate
                
                Set objWorkbook = objInlineShape.OLEFormat.Object
                
                MsgBox objWorkbook.Worksheets.Item(1).Cells(1, 1).Value
                
                Set objWorkbook = Nothing
            End If
        End If
    Next
End Sub
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:08, 28-10-2013 | #3


Аватара для ivanhoe75

Старожил


Сообщения: 184
Благодарности: 0

Профиль | Отправить PM | Цитировать


2 XPEHOMETP Экспортрование исключается. Документы уже готовы такие с внедрёнными оле-объектами.
2 Iska спасибо!

Отправлено: 11:36, 29-10-2013 | #4


Аватара для ivanhoe75

Старожил


Сообщения: 184
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вот дописал до такого состояния
запись не работает. спотыкается на FileFormat все перепробовал - не проходит

Dim objShape As Word.InlineShape
Dim objOLE As Word.OLEFormat

Dim objWorkbook As Object 'Рабочая книга Excel
Dim objWorksheet As Object 'Рабочий лист
Dim objDiapazon As Object 'Диапазон ячеек

For Each objShape In ActiveDocument.InlineShapes
Set objOLE = objShape.OLEFormat

If Not objOLE Is Nothing Then
If objOLE.ProgID Like "Excel.Sheet*" Then
objOLE.Activate

Set objWorkbook = objOLE.Object
'Set objWorksheet = objWorkbook.Worksheets(1)
Set objWorksheet = objWorkbook.Worksheets("Лист1")
Set objDiapazon = objWorksheet.Range("A1:J15")

Exit For
End If
End If
' копирование таблицы в новый документ
'Dim wb As Workbook
Dim wb As Object
Dim ActiveSheet As Object
Application.ScreenUpdating = False
ActiveSheet = objWorkbook
ActiveSheet.Range ("A1:J15")
ActiveSheet.Select
ActiveSheet.Copy
'ActiveSheet.UsedRange.Copy
'xlExcel9795 xlNormal xlCSV xlXMLSpreadsheet
objWorkbook.SaveAs FileName:= _
"\\cad\...\userdata\...\Рабочий стол\sklad.csv", FileFormat:= _
xlXMLSpreadsheet, CreateBackup:=False, Local:=True
Set wb = Workbooks.Add(xlWBATWorksheet)
With wb.ActiveSheet.Cells(1, 1)
.PasteSpecial Paste:=xlPasteColumnWidths
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
End With

Отправлено: 11:53, 18-11-2013 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Что Вы хотели получить данным кодом?

Отправлено: 13:18, 18-11-2013 | #6


Аватара для ivanhoe75

Старожил


Сообщения: 184
Благодарности: 0

Профиль | Отправить PM | Цитировать


задача была найти екселевскую таблицу в вордовском файле и сохранить в отдельный файл. Это я надёргал и пытаюсь заставить работать

Отправлено: 16:04, 18-11-2013 | #7



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Разное - Как получить доступ программными средствами к внедрённой в doc excel таблице?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Снять защиту с doc файла средствами php Hector Вебмастеру 4 18-05-2012 04:59
[решено] ATI Radeon X1600PRO - как разогнать программными средствами? Andrey 12.2 Разгон, охлаждение и моддинг 1 18-12-2010 20:21
Flash - [решено] Отключение конкретного USB-порта программными средствами Evgesha_572 Microsoft Windows 2000/XP 2 19-06-2008 11:24
Очистка BIOS программными средствами? shemp Хочу все знать 6 24-02-2005 20:36
как получить доступ ominous Сетевые технологии 3 28-05-2003 14:56




 
Переход