Как создать таблицу в документе Word, открытом в OpenOffice, с помощью REALbasic в Mac OS

введите описание изображения здесьЭтот код я использовал для создания двоичного файла:

dim eFile as FolderItem
dim output as BinaryStream
eFile= GetSaveFolderItem("application/vnd.ms-word", "mydocument.doc")
output.write  "User Name: "+" User Name field"+chr(13)
output.write  "Website: "+" Website field"+chr(13)
output.close

Я хочу вставить формат таблицы в этот текстовый документ.


person Amol Deshpande    schedule 15.05.2013    source источник
comment
Если кто-то знает об этом, как создать или иметь какой-либо материал или ссылку на ссылку. Пожалуйста, укажите здесь. Спасибо за рекламу.   -  person Amol Deshpande    schedule 15.05.2013
comment
В Windows я использовал приведенный ниже код для создания таблицы в текстовом документе. dim wrdApplication As WordApplication dim docDocument As WordDocument dim tblWordTable As WordTable   -  person Amol Deshpande    schedule 15.05.2013
comment
Укажите версию Word, которую вы хотите поддерживать. К сожалению, я обнаружил, что создание сценариев для Word 2004 отличается от Word 2008.   -  person Thomas Tempelmann    schedule 16.05.2013


Ответы (2)


Вот более подробная информация о том, как это сделать в Mac OS X:

Познакомьтесь с приложением «AppleScript Editor».

Введите следующий сценарий в новое окно сценария:

tell application "Microsoft Word"
    set d to active document
    get content of text object of d
end tell

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

Таким же образом вы можете изменить текст в документе Word:

tell application "Microsoft Word"
    set d to active document
    set content of text object of d to "new text"
end tell

Это основы чтения и записи текста в Word через Applescript. Узнайте, как добавить текст к существующему тексту или изменить шрифты и т. Д., Вам необходимо прочитать «Словарь» Word, который вы можете открыть в редакторе AppleScript, см. Меню «Файл».

Для получения дополнительной помощи по AppleScript посетите http://www.macscripter.net.

Теперь, чтобы использовать это с REALbasic, создайте этот скрипт:

on run {newContent}
    tell application "Microsoft Word"
        set d to active document
        set content of text object of d to newContent
    end tell
end run

Сохраните его как файл сценария (расширение файла .scpt), например как "SetContentInActiveWordDocument.scpt"

Затем перетащите этот файл сценария в свой проект REALbasic, он появится как элемент с именем «SetContentInActiveWordDocument», выделенный курсивом.

Теперь вы можете вызвать этот SetContentInActiveWordDocument как функцию, передав ему строку.

Например, напишите:

eFile.Launch() // this should open an existing word file if it exists in "eFile"
SetContentInActiveWordDocument("the new text") // replaces the text in the opened word file

Однако с созданием таблицы в текстовом документе все становится сложнее. Таким образом, вы можете передавать в сценарий из RB только строки и числа, поэтому, если у вас есть массив значений, которые вы хотите поместить в таблицу, вам придется преобразовать значения массива в строку с уникальными разделителями, передать эту строку в сценарий, в котором строка снова разделяется на отдельные поля.

Также очень помогает, если вы приобретаете «Отладчик сценариев», который не только позволяет выполнять пошаговые инструкции по сценариям, но также предоставляет «Проводник», который позволяет вам видеть все значения запущенного приложения, что значительно упрощает определение того, что вы делаете. хотите получить доступ. Я использовал Script Debugger, чтобы увидеть, как получить доступ к контенту, просто используя его проводник. Без этого вам пришлось бы выяснять это из Словаря сценариев, что обычно довольно сложно, если вы не имеете в этом опыта.

(позже)

Я попытался добавить или даже просто прочитать таблицу с помощью Word 2008. Я не могу заставить работать что-либо, что ссылается на таблицы в «активном документе», несмотря на то, что я нашел несколько примеров в сети, которые предполагают, что это должно работать, например:

tell application "Microsoft Word"
    get table 1 of active document
end tell

Я не могу сказать, является ли это общей проблемой Word 2008 или моей конкретной установкой. И у меня нет других версий для тестирования, извините. Это дает вам возможность самостоятельно найти в Google такие примеры и посмотреть, сможете ли вы разобраться в этом. В любом случае сначала разработайте и протестируйте свой код в редакторе сценариев, прежде чем пытаться заставить его работать с REALbasic.

Кроме того, найдите в Google «Справочник по Word 2004 AppleScript», который представляет собой довольно подробное руководство по использованию Word с AppleScript.

person Thomas Tempelmann    schedule 15.05.2013
comment
Спасибо, Томас за информацию, но мне нужна дополнительная информация, и я использую openOffice на MAC. У вас есть идеи, как создать формат таблицы в файле doc на MAC OS. Пожалуйста, поделитесь своей информацией. Спасибо - person Amol Deshpande; 22.05.2013
comment
К сожалению, это невозможно сделать с файлом формата .doc без установленного MS Word, потому что этот формат слишком сложен для того, чтобы его можно было написать в общем виде. Вместо этого рассмотрите возможность записи в открытый формат документа, например RTF. Это можно читать и писать во многих программах, подобных Word. Наконец, научитесь правильно писать Mac. Это не аббревиатура, это аббревиатура, поэтому она не написана заглавными буквами. - person Thomas Tempelmann; 22.05.2013
comment
Амол сказал, что он делал это не вручную, а с помощью OpenOffice. К сожалению, я не знаю, в какой степени OpenOffice поддерживает автоматизацию OS X. Конечно, можно написать сценарий OO.org BASIC, который сделает это. Вероятно, все, что нужно, - это указать OO.org во время выполнения, что нужно запустить этот сценарий. - person Kuba hasn't forgotten Monica; 30.08.2014

Real Studio может напрямую общаться с MS Word и Excel, но не на стороне Mac (или, по крайней мере, в современных версиях Real Studio и MS Office).

Чтобы сделать то же самое на Mac через Real Studio, вам нужно научиться делать это через AppleScript, который действительно работает через Real Studio. Я не разработчик Applescript, поэтому ничем не могу вам помочь.

person BKeeney Software    schedule 15.05.2013