Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.06.2012, 20:56   #21
Genas
Пользователь
 
Регистрация: 24.06.2008
Сообщений: 34
По умолчанию

у меня в программе не где не использовалась такая шняга!! как то! )) без него работал!!
Genas вне форума Ответить с цитированием
Старый 11.06.2012, 21:01   #22
ych_del
Форумчанин
 
Аватар для ych_del
 
Регистрация: 06.02.2011
Сообщений: 149
По умолчанию

Ну как же "работал", если Invalid variant operation? (:

Код:
WB := MsExcel.Workbooks.Add(FX);
WS := WB.Sheets[1]; // или не 1, а какой тебе нужен номер листа
Дальше, я думаю, сам разберешься.
Профессиональный конвертор галлюцинаций заказчика в алгоритмическую структуру.
ych_del вне форума Ответить с цитированием
Старый 11.06.2012, 21:04   #23
Genas
Пользователь
 
Регистрация: 24.06.2008
Сообщений: 34
По умолчанию

Цитата:
Сообщение от ych_del Посмотреть сообщение
Ну как же "работал", если Invalid variant operation? (:

Код:
WB := MsExcel.Workbooks.Add(FX);
WS := WB.Sheets[1]; // или не 1, а какой тебе нужен номер листа
Дальше, я думаю, сам разберешься.
чесно говоря вот это первый раз понадобилось! все как то без этого было использовал ActiveWorkBooks
Genas вне форума Ответить с цитированием
Старый 11.06.2012, 21:12   #24
Genas
Пользователь
 
Регистрация: 24.06.2008
Сообщений: 34
По умолчанию

Наверное у меня конфликт какой то! если отдельно в новой процедуре делаю, то работает, а если в тело программы вставляю, то ивалид оперейшен =))
Genas вне форума Ответить с цитированием
Старый 11.06.2012, 21:25   #25
ych_del
Форумчанин
 
Аватар для ych_del
 
Регистрация: 06.02.2011
Сообщений: 149
По умолчанию

Особенно увлекательно бывает, если юзер во время, когда отработает одна процедура, но еще не будет выполняться вторая, откроет еще какой-нибудь документ. Угадай, на что будет ссылаться ActiveWorkBook?

P.S. Весы - это такое слева, под ником, рядом с индикатором присутствия пользователя на форуме (:
Профессиональный конвертор галлюцинаций заказчика в алгоритмическую структуру.
ych_del вне форума Ответить с цитированием
Старый 11.06.2012, 21:36   #26
Genas
Пользователь
 
Регистрация: 24.06.2008
Сообщений: 34
По умолчанию

я об этом тоже подозревал =)) думал потом исправлю, так что мне теперь делать =), с чего начать исправления??
Genas вне форума Ответить с цитированием
Старый 11.06.2012, 21:49   #27
ych_del
Форумчанин
 
Аватар для ych_del
 
Регистрация: 06.02.2011
Сообщений: 149
По умолчанию

Ну, я же говорил - для начала следует присваивать всё своим переменным, а не надеяться на Excel
Профессиональный конвертор галлюцинаций заказчика в алгоритмическую структуру.
ych_del вне форума Ответить с цитированием
Старый 11.06.2012, 21:49   #28
Genas
Пользователь
 
Регистрация: 24.06.2008
Сообщений: 34
По умолчанию

у меня так создается новый смена! в модальном окне главной формы!!
procedure TForm2.BitBtn1Click(Sender: TObject);
var i,n,list:integer; mse,new,old:string;
begin

// проверка открыт ли ексел
if VarIsEmpty(msExcel) = false then
// msExcel.ActiveWorkbook.Close;
MsExcel.Application.Quit;
// устанавливаем связь с екселем
// new:=GetCurrentDir+'\res\'+datetost r(date());

new:=ExtractFilePath(Application.Ex eName)+'\res\'+datetostr(date());
new:=new+' '+ComboBox1.Text+'.xls';
old:=GetCurrentDir+'\res\new.xls';
if CopyFile(Pchar(old),Pchar(new),true ) then
ShowMessage('Успішно створено!')
else
ShowMessage('Зміна вже існує!! ');
begin
MsExcel := CreateOleObject('Excel.Application' );
form1.ListBox1.Clear;
//fx:=OpenDialog1.FileName;


MsExcel.Workbooks.Open[new];
Form1.Label19.Caption:=ComboBox1.Te xt;
Form1.Label18.Caption:=datetostr(Mo nthCalendar1.date);

MsExcel.worksheets.item[3].select;
MsExcel.Range['G1'].value := ComboBox2.Text;

for list:=4 to msExcel.ActiveWorkbook.Sheets.Count do
begin
MsExcel.worksheets.item[list].select;
MsExcel.range['C1']:=form1.Label18.Caption; //дата
MsExcel.range['K1']:=form1.Label19.Caption; // смена день/ночь
end;



// заполнения списка маршрутов
form1.ComboBox1.Clear;
Form1.ComboBox5.Clear;
n:=0;
Repeat
MsExcel.worksheets.item[1].select;
inc(n);
mse:=MsExcel.Cells[n,1];
if mse<>'' then begin
form1.ComboBox1.Items.Add(mse);
form1.ComboBox5.Items.Add(mse); end;
Until mse='';

// заполнения списка Водіїв
form1.ComboBox2.Clear;
form1.ComboBox4.Clear;
n:=1;
Repeat
MsExcel.worksheets.item[1].select;
mse:=MsExcel.Cells[n,5];
form1.ComboBox2.Items.Add(mse);
form1.ComboBox4.Items.Add(mse);
inc(n);
Until mse='';
// заполнения списка листов
for i:=4 to MSExcel.Worksheets.count do
begin
form1.ListBox1.Items.Add(MsExcel.Wo rkBooks[1].WorkSheets[i].Name);
end;
end;
Genas вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из Delphi в Excel Ky3Heu, Общие вопросы Delphi 4 17.10.2011 09:40
Delphi Excel (сохранение записи в Excel) Кас Алина Общие вопросы Delphi 4 28.05.2010 09:17
как при импорте из Excel в delphi узнать сколько заполненных строк в книге Excel?чтобы организовать цикл betirsolt БД в Delphi 1 17.01.2010 18:51
Delphi ->Excel->График по таблице->Delphi Avalonix БД в Delphi 2 30.10.2008 14:04
Delphi+Excel Suall БД в Delphi 0 30.04.2007 07:37