Имя: Пароль:
1C
 
v8: как заставить ексель не спрашивать о сохранении при закрытии
0 IT Михаил
 
25.06.08
15:08
Документ = ПолучитьCOMОбъект(ИнвойсИ_УпаковочныйЛист);
.....
Документ.Application.Quit();

юзер согласился, хотя пять раз говорил отказывайся, результат - якобы вытертая страница в екселе
1 Immortal
 
25.06.08
15:09
подумать. желательно головой.
2 IT Михаил
 
25.06.08
15:11
(1)вижуал бейсик не хочу думать
3 ДенисЧ
 
25.06.08
15:12
научиться читать нужно...
4 ДенисЧ
 
25.06.08
15:12
научиться читать нужно...
Remarks
If unsaved workbooks are open when you use this method, Microsoft Excel displays a dialog box asking whether you want to save the changes. You can prevent this by saving all workbooks before using the Quit method or by setting the DisplayAlerts property to False. When this property is False, Microsoft Excel doesn’t display the dialog box when you quit with unsaved workbooks; it quits without saving them.

If you set the Saved property for a workbook to True without saving the workbook to the disk, Microsoft Excel will quit without asking you to save the workbook.
5 Heckfy
 
25.06.08
15:13
Эксель.DisplayAlerts = 0;
   Эксель.Quit();
6 IT Михаил
 
25.06.08
15:14
(4)Документ.Application.Quit(DisplayAlerts = False)
так?
7 IT Михаил
 
25.06.08
15:14
(5)спасибо
8 IT Михаил
 
25.06.08
15:15
а вот еще проблемка закрывать ексель вобще нужно?
а то уних по сорок екселей открыто и это типа неудобно что приложение вываливается
9 wPa
 
25.06.08
15:16
Сначала
ExcelApp.DisplayAlerts = False;

.....
а перед закрытием
ExcelApp.DisplayAlerts = True;
       ExcelApp.Quit();
       ExcelApp=NULL;
10 IT Михаил
 
25.06.08
15:18
ExcelApp=NULL;
- а это зачем?
11 Immortal
 
25.06.08
15:20
там ещё чего то про user control было

а закрывать или нет такой вопрос лучше решать не через получитьComObject а через New ComObject
12 IT Михаил
 
25.06.08
15:22
(11)ок
13 IT Михаил
 
25.06.08
15:44
а что все мои ветки в раздел работа теперь будут попадать ?)
14 IT Михаил
 
25.06.08
16:22
DisplayAlerts что-то не видет, придется углубиться
15 IT Михаил
 
26.06.08
11:33
перенесите это пожалуйста куда-нибудь в интеграцию что-ли, пожалуйста
16 wPa
 
26.06.08
12:02
(10) С двухтысячным была тема - процесс оставался висеть.
17 Сержант 1С
 
26.06.08
14:36
Кстати, как заставить эксель не переформатировать 12-23 в декабрь 23?

вариант "принудительно текстовый формат" не катит: после некоторых пертурбаций с заменой, опять автоформатит.

как вообще отключить?
18 wPa
 
26.06.08
14:47
(17) А как ты ставишь текстовый?
Глянь могет поможет..

Перед присвоением значения накатываю формат на ячейку

Процедура УстановитьФормат(Range)

   Range.NumberFormat = "@"; //текстовый
   Range.HorizontalAlignment = -4131; //xlLeft;
   Range.VerticalAlignment = -4107; //xlBottom ;
   Range.WrapText = False;
   Range.Orientation = 0;
   Range.AddIndent = False;
   Range.IndentLevel = 0 ;
   Range.ShrinkToFit = False;
   Range.ReadingOrder = -5002;  //xlContext;
   Range.MergeCells = False;
   
   Range.Font.Name            = "Arial Cyr";
   Range.Font.Size            = 10;
   Range.Font.Strikethrough    = False;
   Range.Font.Superscript        = False;
   Range.Font.Subscript        = False;
   Range.Font.OutlineFont        = False;
   Range.Font.Shadow            = False;
   Range.Font.Underline        = -4142; //xlUnderlineStyleNone                
   Range.Font.ColorIndex        = -4105; // xlAutomatic

КонецПроцедуры
19 Сержант 1С
 
26.06.08
15:02
(18) мышкой ))

пкм формат
20 wPa
 
26.06.08
15:38
(19) =)
тада тебе в (19) код пойдет

        Ячейка = Лист.Cells(1,Столбец);
    УстановитьФормат(Ячейка);
        Ячейка.Value = Параметр.Значение;

На крайняк ставь в начале строки апостроф - эксель ставит текстовый автоматом, если его находит
        Ячейка.Value = "'"+Параметр.Значение;
21 wPa
 
26.06.08
15:39
(19) = (18)