1C + Excel

Новая тема
"народ, где взять простецкие команды VBA для Эксела?



а то кроме



Эк=СоздатьОбъект("Exel.Application");

Эк.ActiveWorkBooks.Open(ИмяФайла);



и ещё пары... ничего не знаю...

а в инете только ФАКи по Экселу, а типа учебника не нахожу :-(



подскажите ПЛЗ штучек 50 на первое время, а!"
В эхеле открываешь справку по ВизулБасику - там все команды описаны.

Если пример нужен, то в типовой "Торговля и склад", есть обработка по импорту цен из Ехелевского файла, можно посмотреть
"там не то что нужно!

там больше справка по самому вижуал бэйсику...



но, пардон, вставки на нём в 1С нельзя делать...

и толку от того, что узнаю, как описывать переменные, массивы, циклы и др. конструкции???



на сколько понял максимум, что можно это использовать пару методов объекта аппликейшн

после



эксел=СоздатьОбъект("Excel.Application");



нужно что-то типа открыть/получить файл эксел, считать выделенные столбцы в таблицу 1С, закрыть файл и ВЫГРУЗИТЬ потом сам эксел из памяти КОРРЕКТНО!



а в 1С предлагаемой для просмотра написано эксел.Quit()

а комментария нет :-(

и что это делает? ИМХО закрывает? а из памяти пардон кто выгружать будет?"
"Если Что обращайтесь 6)

Evgeny@prikhodko.org







Procedure LoadImportFile()

//-----------------------------------------------------------------------------------------------

Var namefile, namedir,ImportFileXls, ImportFileXlsAplet;

Var Applet, SPFileDirNomenklatura,SPFileDirNomenklaturaTEMP;

Var i,j,kj, ki,jj, addcode, File, Filelist,Celling,FileDirFS;

Var CodeType,OLEMOVE,Tools,CodePlusFilesSP;

//-----------------------------------------------------------------------------------------------

// Insert Object

Tools= CreateObject("справчоник.Загружаемый");  

ImportFileXls = CreateObject("FS");

SPNomenkl = CreateObject("справчоник.Номенклатура");

SPFileDirNomenklatura = CreateObject("&&&&&&&&&&.&&&&&&&&&&&&&");

SPFileDirNomenklaturaTEMP = CreateObject("&&&&&&&&&&.&&&&&&&&&&&&&");

Applet = CreateObject("Excel.Application");



//Insert Var component

//------------------------------------------------------------------------------------------

IF ImportFileXls.SelectFile(,namefile,namedir,"&&&&&&&& &&&&& ","&&&&& *.xls| *.xls", , ) = 1 Then

Tools.НайтиПокоду("1");

kj = Tools.ЧислоСтроки;

ki = Tools.ЧислоСтолбцов;

j  = 1;

CodePlusFilesSP = 0;

DateFormatToDay = ТекущаяДата();

addcode = 0;

CodePlusFilesSP = CodePlusFilesSP + 1;

FileDirFS = namedir+namefile;



DoMessageBox("ЛЯЛЯ");

Message("namefile : "+namedir+namefile);

CodeType = String(namefile)+"-"+String(DateFormatToDay);

Message("CodeType ="+CodeType);

IF SPFileDirNomenklatura.НайтиПоКоду(CodeType) = 0 then

SPFileDirNomenklatura.new();

SPFileDirNomenklatura.Код = CodeType;

SPFileDirNomenklatura.Description= namefile;

SPFileDirNomenklatura.ИмяФайла = namefile;

SPFileDirNomenklatura.Write();

Message("ОК!");

Else

DoMessageBox("Программу На Мыло!"); Return;

EndIF;



Else Message("Error file"); Return;

EndIf;



File = Applet.Workbooks.Open(Trimall(FileDirFS));

Filelist = File.Sheets(1);

Message("---------------------------------");

//------------------------------ OLE XLS For EndFor-------------------------------

For i = 1 to ki DO

      Celling = Filelist.Cells(j,i);

IF Filelist.Cells(j,i).text  <> """" then

addcode = addcode + 1;

Message("i, j="+i+", "+j+" | "+Celling.Text+";");

Message("addcode = "+addcode);

//Saved to the base



IF addcode = 1 then //проверка строк на наличие

SPNomenkl.new();

SPNomenkl.Description = Celling.text;  

SPNomenkl.ИмяФайла = CodeType;

EndIF; //

IF addcode = 2 then

SPNomenkl.ыыы= Celling.Value;

EndIF;

IF addcode = 3 then

SPNomenkl.&&&&&&&&&  = Celling.text;

EndIF;

IF addcode = 4 then

SPNomenkl.&&&&  = Celling.Value;

EndIF;

IF addcode  > 4 then  

Message("--- 4 ---");

EndIF;

EndIF;



jj = j;

IF i = (ki - 1) then j = j+1; i = 0; addcode = 0;  SPNomenkl.Write(); EndIF;

IF j = kj then Message("j = "+j); i = ki;  EndIF;

EndDo;

//------------------------------ OLE XLS For EndFor-------------------------------

Applet.WorkBooks.close();

Applet.Quit();

Message("I ="+i+"; J = "+j);  

DoMessageBox("&&&&: "+namefile+"; &&&&&&&&, &&&&&&&&&&& = "+jj+" &&&&&!");

Message("---------------------------------");

Message("Application Close All");

Message("&&& &&&&& &&&&&&&&&&&& = "+FileDirFS);

EndProcedure"
Читают тему
(гостей: 1)

Быстрый переход