Форум: "Базы";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];
Внизмакросы Excel Найти похожие ветки
← →
FrostFS © (2006-10-27 10:11) [0]Здравствуйте. Как можно передать в Excel текст макроса на VBA без адаптации под Delphi , а в исходном виде и выполнить его?
К примеру:
Range("E1:G6").Select
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Selection.Merge
← →
Anatoly Podgoretsky © (2006-10-27 10:29) [1]Вроде есть 12 перекрытых методов RunMacros - никогда не пробовал.
← →
evvcom © (2006-10-27 10:37) [2]Выполнить это одно. Записать макрос - это другое. Как-то искал, как это сделать, сейчас не помню подробностей. Но точно помню, что в самом экселе, в каком-то меню надо разрешить внешним программам записывать макросы. Иначе Excel ругается. Кстати, по этой ошибке я и нашел в инете, потом в справке, где и что это за пункт меню.
← →
FrostFS © (2006-10-27 12:42) [3]
> Выполнить это одно. Записать макрос - это другое. Как-то
> искал, как это сделать, сейчас не помню подробностей. Но
> точно помню, что в самом экселе, в каком-то меню надо разрешить
> внешним программам записывать макросы. Иначе Excel ругается.
> Кстати, по этой ошибке я и нашел в инете, потом в справке,
> где и что это за пункт меню.
evvcom, кажется только что столкнулся с тем о чем вы говорили. Не могли бы вы уточнить где разрешать Excel записывать чужие макросы?
И еще два вопроса - почему так плохо (точнее никак) документированы поставляемые Borland модули, касательно вкладки Servers и т.п.? Где взять описание всей этой огромной кучи функций и свойств?
← →
sniknik © (2006-10-27 13:40) [4]> Не могли бы вы уточнить где разрешать Excel записывать чужие макросы?
ему это счас придется искать также как и тебе... (понятно что делалось давно) к тому-же, как он искал он сказал. и ему это уже не нужно, а нужно тебе... угадай кому искать???
совет, не задавай такого плана вопросов, с перекладыванием своих нужд на чужие выполняющие плечи... в ответ можеш "сколько заплатишь?" услышать, а не желаемое. + портится впечатление, пропадает желание с тобой общаться...
> касательно вкладки Servers и т.п.? Где взять описание всей этой огромной кучи функций и свойств?
потому что это не борландовские компоненты по большому счету, а это и есть Excel/Word/... т.д. то что там написано, они являются приложениями серверами, а борланд дал только "точку входа" для обращения/управления ими.
т.е. для того чтобы документировать это все, надо переписать/скопировать справку оригиналов... а этого никто не любит (заметил уже по форуму? ;), ни копирующий ни тот у кого копируют.
т.что смотри прямо в оригинале (у Excel/Word/и т.д.).
← →
Anatoly Podgoretsky © (2006-10-27 15:23) [5]
> И еще два вопроса - почему так плохо (точнее никак) документированы
> поставляемые Borland модули, касательно вкладки Servers
> и т.п.? Где взять описание всей этой огромной кучи функций
> и свойств?
Они не требуют документирования, там свойств раз два и обчелся, которые нормально работают по умолчанию
А вот если тебя интересует объектная модель документа, то за этим к Микрософту или в справку по офису, они тоже нормально документированы, просто их многие тысячи.
← →
umbra © (2006-10-27 16:21) [6]вот работающий код (Эксель 97):
uses ..., ComObj, excel97, vbide97, ....;
{.........................}
procedure TForm1.Button1Click(Sender: TObject);
const
typelib = "c:\Program Files\Common Files\Microsoft Shared\VBA\VBEEXT1.OLB";
macrotext = "Workbooks(1).Worksheets(1).Cells.Interior.Color = 15";
var
xlapp, book, codemodule: Variant;
sub: String;
begin
xlapp := CreateOleObject("excel.Application");
if VarIsClear(xlapp) then exit;
try
book := xlapp.Workbooks.Add;
book.VBProject.References.AddFromFile(typelib);
codemodule := book.VBProject.VBComponents.Add(vbext_ct_StdModule).CodeModule;
sub := "sub test()" + #13#10 + macrotext + #13#10 + "End sub";
if not VarIsClear(codemodule) then
codemodule.AddFromString(sub);
xlapp.Run("test");
finally
xlapp.Visible := True;
codemodule := Unassigned;
book := Unassigned;
xlapp := Unassigned;
end;
end;
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.01.14;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.012 c