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

Ответить
Аватара пользователя
ivanhoe75

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

Сообщение ivanhoe75 »

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

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

Сообщение ivanhoe75 »

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



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

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

Сообщение Iska »

Цитата ivanhoe75:



Как получить доступ программными средствами к внедрённой в doc excel таблице? (к данным)
Разное - Как получить доступ программными средствами к внедрённой в 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
Аватара пользователя
ivanhoe75

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

Сообщение ivanhoe75 »

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

2 [url=http://javascript:PrintUserName('Iska')]Iska[/url] Изображение спасибо!
Аватара пользователя
ivanhoe75

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

Сообщение ivanhoe75 »

Вот дописал до такого состояния

запись не работает. спотыкается на 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
Аватара пользователя
Iska

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

Сообщение Iska »

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

Вернуться в «Программирование и базы данных»