![]() |
![]() |
![]() |
|
как через OLE колонку добавить в таблице Excel? | ☑ | ||
---|---|---|---|---|
0
gr13
21.01.09
✎
11:06
|
сабж
|
|||
1
rie
21.01.09
✎
11:19
|
(0) А что значит - "добавить колонку" для таблицы Excel?
Вставить новую колонку перед некоторой со сдвигом всех следующих колонок вправо? Если да - то что-то вроде Лист.Rows("C:C").Insert(-4161,0); (переменной Лист, естественно, присвоен обрабатываемый лист книги Excel). |
|||
2
gr13
21.01.09
✎
11:23
|
(1) да, пасип счас попробую
|
|||
3
gr13
21.01.09
✎
11:23
|
row это разве не строка?
|
|||
4
rie
21.01.09
✎
11:26
|
(3) Да, конечно же, строка. Columns, естественно.
|
|||
5
gr13
21.01.09
✎
11:27
|
Лист.Columns("C:C").Insert(-4161,0); ?
а что означает -4161, 0? |
|||
6
Сергей-ХХХ
21.01.09
✎
11:28
|
Наверное константа какая-нить, означающая "сдвинуть по-горизонтали"
|
|||
7
rie
21.01.09
✎
11:31
|
(5) значение константы xlShiftToRight.
|
|||
8
gr13
21.01.09
✎
11:33
|
(7) понял, 0 это количество колонок добавляемых?
|
|||
9
rie
21.01.09
✎
11:38
|
(8) Нет, это флаг копирования.
|
|||
10
gr13
21.01.09
✎
11:41
|
а как можно, скажем скопировать колонку А в колонку D?
|
|||
11
rie
21.01.09
✎
11:43
|
(11) Copy, а затем Paste (это названия методов).
Чтобы не мучиться - лучше открой Excel, включи запись макросов, сделай всё, что тебе надо, а потом посмотри текст получившегося макроса. С названиями всех нужных методов. |
|||
12
gr13
21.01.09
✎
12:03
|
счас попробую. я никогда так не делал(
|
|||
13
vde69
21.01.09
✎
12:04
|
лист должен быть активным!!!
|
|||
14
gr13
21.01.09
✎
12:06
|
гы))))
спасибо) Columns("B:B").Select Selection.Insert Shift:=xlToRight Selection.Insert Shift:=xlToRight Range("B5").Select ActiveCell.FormulaR1C1 = "1" Range("B6").Select ActiveCell.FormulaR1C1 = "2" Range("B7").Select ActiveCell.FormulaR1C1 = "3" Columns("B:B").Select Selection.Copy Columns("J:J").Select ActiveSheet.Paste |
|||
15
rie
21.01.09
✎
12:06
|
(12) Только имей в виду - в макросах Excel параметры со значениями по умолчанию, как правило, не указываются. К тому же из-за наличия именованных параметров порядок может различаться. 1C же такого не умеет.
Поэтому на всякий случай проверяй по "Справке по Visual Basic", какие же параметры и с какими значениями требуются. |
|||
16
gr13
21.01.09
✎
12:07
|
(15) спасибо за идею - счас будем думать
вот здесь я так понимаю нада Selection.Insert Shift:=xlToRight xlToRight заменить на -4161 |
|||
17
rie
21.01.09
✎
12:08
|
(14) Не забывай указывать лист в начале.
И вместо Range("B6).Select ActiveCell.FormulaR1C1 = "1" лучше сразу писать Лист.Cells(2,6).Value = 1; |
|||
18
vde69
21.01.09
✎
12:08
|
я сейчас вот с такой контрукцией сексом занимаюсь
Set OldSheet = Application.Worksheets(SheetName) i = OldSheet.Shapes.Count OldSheet.OLEObjects.Add(Filename:=File_Name, Link:=False, DisplayAsIcon:=False).Select If OldSheet.Cells.SpecialCells(11).Row >= Selection.Object.ActiveSheet.Cells.SpecialCells(11).Row Then i1 = OldSheet.Cells.SpecialCells(11).Row Else i1 = Selection.Object.ActiveSheet.Cells.SpecialCells(11).Row End If Selection.Object.ActiveSheet.Range("1:" & i1).Copy Destination:=OldSheet.Range("1:" & i1) OldSheet.Shapes(i + 1).Delete |
|||
19
rie
21.01.09
✎
12:08
|
(16) Значения констант можешь посмотреть в редакторе VB по кнопке F2
|
|||
20
gr13
21.01.09
✎
12:10
|
(17) угу, это я где-то видел. я для копирования добавил цифры
|
|||
21
gr13
21.01.09
✎
12:10
|
(19) спасибо
|
|||
22
rie
21.01.09
✎
12:11
|
(18) А что в этой конструкции особо сексуального? :-)
|
|||
23
gr13
21.01.09
✎
12:11
|
(19) Const xlToRight = -4161 (&HFFFFEFBF)
|
|||
24
skunk
21.01.09
✎
12:12
|
(21)незнал что ли?
|
|||
25
gr13
21.01.09
✎
12:13
|
xlToRight = -4161;
ФайлExcel = ПолучитьCOMОбъект(ИмяФайла); ФайлExcel.Worksheets(1).Activate(); КонечнаяСтрока = ФайлExcel.ActiveSheet.Cells.SpecialCells(11).Row; Выделение = ФайлExcel.Worksheets(1).Columns("B:B").Select; Выделение.Insert Shift:=xlToRight; последняя строка не пройдет, а как правильно? |
|||
26
gr13
21.01.09
✎
12:13
|
(24) нет, где твоя книга?
|
|||
27
skunk
21.01.09
✎
12:15
|
(22)то ... что первым парметром идет у метода Add объекта OLEObjects идет ClassType ...
короче незнает того, о чем ты говорил в (15) |
|||
28
skunk
21.01.09
✎
12:15
|
(26)плюнул
|
|||
29
gr13
21.01.09
✎
12:16
|
(28) дай то что уже готово... я погляжу
|
|||
30
rie
21.01.09
✎
12:16
|
(25) У Insert - _два_ параметра!
|
|||
31
gr13
21.01.09
✎
12:16
|
мож опубликую... если будет время, а то я спортом занялся и английским( 1 выходной день в неделю
|
|||
32
gr13
21.01.09
✎
12:17
|
(30) Выделение.Insert.Shift:=xlToRight;
так7 |
|||
33
rie
21.01.09
✎
12:18
|
(31) Да нет же!
Выделение.Insert(-4161,0); |
|||
34
gr13
21.01.09
✎
12:19
|
(33) блин, аа пасип - век живи век учись
|
|||
35
skunk
21.01.09
✎
12:22
|
(34)а ничего не осталось ... винт навернулся... что было опубликованно восстановил, всему остальному трындец пришел... впринципе поэтому и плюнул
|
|||
36
gr13
21.01.09
✎
12:26
|
ФайлExcel = ПолучитьCOMОбъект(ИмяФайла);
ФайлExcel.Worksheets(1).Activate(); КонечнаяСтрока = ФайлExcel.ActiveSheet.Cells.SpecialCells(11).Row; ВыделениеB = ФайлExcel.Worksheets(1).Columns("B:B").Select; ВыделениеB.Insert(xlToRight, 0); ВыделениеB.Insert(xlToRight, 0); ВыделениеA = ФайлExcel.Worksheets(1).Columns("A:A").Select; КопированиеКолонкиA = ВыделениеA.Copy; ВыделениеL = ФайлExcel.Worksheets(1).Columns("L:L").Select; ФайлExcel.Paste; блин( 1с на последней строке ругается |
|||
37
skunk
21.01.09
✎
12:27
|
Paste - это метод ... Paste()
|
|||
38
gr13
21.01.09
✎
12:32
|
ФайлExcel.Worksheets(1).Columns("B:B").Select {(1)}: Поле объекта не обнаружено (Select)
((( |
|||
39
skunk
21.01.09
✎
12:36
|
Select() ... тоже метод
|
|||
40
skunk
21.01.09
✎
12:36
|
Copy() - тоже метод
|
|||
41
rie
21.01.09
✎
12:37
|
(38) В 1С после имени метода _обязательно_ должны быть скобки. Даже если параметров нет.
|
|||
42
gr13
21.01.09
✎
12:43
|
Select() ошибку выдает
(40) не знаю |
|||
43
rie
21.01.09
✎
12:48
|
(42)Что-то ты загадочное делаешь...
Select(), если мне память не изменяет, ничего не возвращает. (Хотя могу и ошибаться). Выделенный с помощью Select диапазон доступен через свойство Selection. |
|||
44
gr13
21.01.09
✎
12:52
|
(43)
вот один к одному ФайлExcel = ПолучитьCOMОбъект(ИмяФайла); ФайлExcel.Worksheets(1).Activate(); КонечнаяСтрока = ФайлExcel.ActiveSheet.Cells.SpecialCells(11).Row; ВыделениеB = ФайлExcel.Worksheets(1).Columns("B:B").Select; ВыделениеB.Insert(xlToRight, 0); ВыделениеB.Insert(xlToRight, 0); ВыделениеA = ФайлExcel.Worksheets(1).Columns("A:A").Select; КопированиеКолонкиA = ВыделениеA.Copy; ВыделениеL = ФайлExcel.Worksheets(1).Columns("L:L").Select; ФайлExcel.Paste(); ФайлExcel.Save(); |
|||
45
gr13
21.01.09
✎
12:53
|
ФайлExcel.Worksheets(1).Columns("B:B").Select() {(1)}: Ошибка при вызове метода контекста (Select): Произошла исключительная ситуация (Microsoft Office Excel): Невозможно получить свойство Select класса Range
вот такая ошибка со скобками (у мя в отладчике лежит |
|||
46
rie
21.01.09
✎
12:53
|
(45) Лист - точно существует?
|
|||
47
gr13
21.01.09
✎
12:55
|
(46) а как проверить? в файле есть визуально
|
|||
48
rie
21.01.09
✎
13:06
|
(47) Сейчас в Excel лезть лень.
Но попробуй идти последовательно: по Application получить WorkBook, Worksheet извлекать тоже из Workbook, а не из Application и т.д. Возможно, что у тебя активным является не тот лист или не та книга. |
|||
49
skunk
21.01.09
✎
13:12
|
эт я понимаю ты на 8 ха делаешь
|
|||
50
Divemaster
21.01.09
✎
13:19
|
(44) давно это не делал... попробуй вот это:
ВыделениеB = ФайлExcel.Worksheets(1).Columns("B:B").Select; заменить на вот это: ВыделениеB = ФайлExcel.ActiveSheet.Columns("B:B").Select; |
|||
51
skunk
21.01.09
✎
13:27
|
|
|||
52
gr13
21.01.09
✎
14:04
|
ФайлExcel = ПолучитьCOMОбъект(ИмяФайла);
//ФайлExcel.Worksheets(1).Activate(); олеЛист = ФайлExcel.Worksheets.Item(1); олеВыделеный = ФайлExcel.Selection; олеЛист.Columns("B:B").Select(); ФайлExcel.Selection {(1)}: Поле объекта не обнаружено (Selection) |
|||
53
gr13
21.01.09
✎
14:06
|
(50) вроде получилось, но тогда выходит ошибка на другом.
ФайлExcel = ПолучитьCOMОбъект(ИмяФайла); ФайлExcel.Worksheets(3).Activate(); КонечнаяСтрока = ФайлExcel.ActiveSheet.Cells.SpecialCells(11).Row; ВыделениеB = ФайлExcel.ActiveSheet.Columns("B:B").Select(); ВыделениеB.Insert(xlToRight, 0); ВыделениеB.Insert(xlToRight, 0) {(1)}: Значение не является значением объектного типа (Insert) |
|||
54
rie
21.01.09
✎
14:09
|
(53) А почему бы не сразу
ФайлExcel.ActiveSheet.Columns("B:B").Insert(xlToRight,0); И всё же - попробуй расписать всё без пропусков. Получить книгу (ActiveWorkbook, к примеру; или же по имени), по книге - лист, с листом уже и работать. Явно указывая диапазоны, а не через Select. Весьма вероятно, что активными книгами/листами может оказаться не то, что предполагалось. |
|||
55
skunk
21.01.09
✎
14:10
|
(52)неправильно делаешь ... смотри внимательно (51) ... свойство Selection является свойстом объекта Application а не Workbook
|
|||
56
gr13
21.01.09
✎
14:12
|
(55) понял - ты 2 попытки делаешь
(54) счас попробую |
|||
57
skunk
21.01.09
✎
14:17
|
(55)да попытки тут не причем... это просто прокладки на случай не возможности создать объект "Excel.Application" ... вторая, если вдруг по какой-то причине не получается открыть книгу ... (доступ запрещ, нет книги)
|
|||
58
rie
21.01.09
✎
14:17
|
(56) Лучше прочитай повнимательнее, что тебе написал skunk. И в (55), и раньше. Дело не в попытках.
В Excel - куча _разных_ объектов, и не все свойства/методы не ко всем объектам применимы. В "Справке" для всех свойств и методов есть вверху ссылочка "Applies To". Иногда очень способствует. |
|||
59
gr13
21.01.09
✎
14:21
|
(57) да я понял, счас попробую
|
|||
60
gr13
21.01.09
✎
14:24
|
ФайлExcel = ПолучитьCOMОбъект(ИмяФайла);
ФайлExcel.Worksheets(НужныйЛист).Activate(); КонечнаяСтрока = ФайлExcel.ActiveSheet.Cells.SpecialCells(11).Row; ФайлExcel.ActiveSheet.Columns("B:B").Insert(xlToRight,0); ФайлExcel.ActiveSheet.Columns("B:B").Insert(xlToRight,0); ФайлExcel.ActiveSheet.Columns("B:B").Copy(); ФайлExcel.ActiveSheet.Columns("L:L").Paste(); ФайлExcel.ActiveSheet.Columns("L:L").Paste(); {(1,45)}: Ошибка в выражении |
|||
61
skunk
21.01.09
✎
14:55
|
|
|||
62
gr13
21.01.09
✎
14:59
|
ФайлExcel = ПолучитьCOMОбъект(ИмяФайла);
ФайлExcel.Worksheets(НужныйЛист).Activate(); КонечнаяСтрока = ФайлExcel.ActiveSheet.Cells.SpecialCells(11).Row; ФайлExcel.ActiveSheet.Columns("B:B").Insert(xlToRight,0); ФайлExcel.ActiveSheet.Columns("B:B").Insert(xlToRight,0); ФайлExcel.ActiveSheet.Columns("B:B").Copy(); ФайлExcel.ActiveSheet.Columns("L:L").Insert(xlToRight); ФайлExcel.Save(); ФайлExcel.Close(); |
|||
63
gr13
21.01.09
✎
15:00
|
отрабатывает( но потом не открывается файл
|
|||
64
skunk
21.01.09
✎
15:05
|
ПолучитьCOMОбъект(ИмяФайла); - косодырит ... юзай...
олеЕксель = новый COMОбъект("Excel.Application"); ФайлExcel = олеЕксель.Workbooks.Open("c:\Книга1.xls"); |
|||
65
Divemaster
21.01.09
✎
15:05
|
Переделай под такую конструкцию:
Excel = Новый COMОбъект("Excel.Application"); Excel.WorkBooks.Open(ИмяФайла); Excel.WorkBooks.Close(); Excel = 0; |
|||
66
Divemaster
21.01.09
✎
15:06
|
не успел, в (64) уже есть...
|
|||
67
gr13
21.01.09
✎
15:14
|
ФайлExcel = Новый COMОбъект("Excel.Application");
ФайлExcel.Workbooks.Open(ВыбранныйФайл); олеЛист = ФайлExcel.Worksheets.Item(НужныйЛист); КонечнаяСтрока = олеЛист.Cells.SpecialCells(11).Row; олеЛист.Columns("B:B").Insert(xlToRight,0); олеЛист.Columns("B:B").Insert(xlToRight,0); олеЛист.Columns("B:B").Copy(); олеЛист.Columns("L:L").Insert(xlToRight); ФайлExcel.Save(ВыбранныйФайл); пишет что открыт только для чтения( |
|||
68
Divemaster
21.01.09
✎
15:20
|
(67) у тебя процесс наверно зависший и не один после экспериментов, убей все в диспетчере задач и попробуй
|
|||
69
gr13
21.01.09
✎
15:24
|
нажал выполнить... он у мя спрашивает - заменить, я соглашаюсь
"Произошла исключительная ситуауция сохранение открытого документа не возможно |
|||
70
rie
21.01.09
✎
17:41
|
(69) Имеет смысл "ему" поверить - если файл открыт только для чтения, то сохранить изменения в нём будет несколько затруднительно. :-)
Опять же - а почему Save() вызывается для Excel в целом, а не для обрабатываемой книги? Ещё раз - посмотри структуру объектов Excel. Разберись, в чём различие между Application, Workbook, Worksheet (и другими). У _разных_ объектов есть _по разному_ работающие, но _одноименные_ методы. К тому же есть некоторые различия между версиями Excel. У тебя постоянная путаница между приложением и книгой. |
|||
71
gr13
21.01.09
✎
17:42
|
(70) а разве здесь он не позиционируемся на конкретном файле?
ФайлExcel.Workbooks.Open(ВыбранныйФайл); |
|||
72
vde69
21.01.09
✎
17:45
|
ты вытаешся сохранить текущий, а это не факт, что тот который нужен
ФайлExcel.Application.DisplayAlerts = 0 ФайлExcel.Workbooks.Save() ФайлExcel.Application.DisplayAlerts = 1 |
|||
73
vde69
21.01.09
✎
17:46
|
ФайлExcel.Workbooks.Save() не так
Твой_Workbooks.Save() |
|||
74
gr13
21.01.09
✎
17:48
|
(70) заработало
ФайлExcel = Новый COMОбъект("Excel.Application"); КнигаExcel = ФайлExcel.Workbooks.Open(ВыбранныйФайл); олеЛист = ФайлExcel.Worksheets.Item(НужныйЛист); КонечнаяСтрока = олеЛист.Cells.SpecialCells(11).Row; олеЛист.Columns("B:B").Insert(xlToRight,0); олеЛист.Columns("B:B").Insert(xlToRight,0); олеЛист.Columns("B:B").Copy(); олеЛист.Columns("L:L").Insert(xlToRight); КнигаExcel.Save(); ФайлExcel.Quit(); теперь только вот это не отрабатывает олеЛист.Columns("B:B").Copy(); олеЛист.Columns("L:L").Insert(xlToRight); |
|||
75
rie
21.01.09
✎
17:50
|
(74) Не отрабатывает - что это означает?
Не вставляет скопированное? Ну так и не должен. Вставка - методом Paste(). Insert (в данном случае) лишь создаёт колонку. |
|||
76
gr13
21.01.09
✎
17:52
|
(75) да не вставляет скопированная, т.е. колонка пустая
|
|||
77
gr13
21.01.09
✎
17:53
|
(75) а как правильно?
|
|||
78
rie
21.01.09
✎
17:56
|
(77) Попробуй
олеЛист.Columns("L:L").Insert(xlToRoght); олеЛист.Columns("B:B").Copy(олеЛист.Columns("L:L"); |
|||
79
vde69
21.01.09
✎
18:00
|
NewSheet.Range("1:" & i1).Copy Destination:=OldSheet.Range("1:" & i1)
|
|||
80
vde69
21.01.09
✎
18:01
|
олеЛист.Columns("L:L").Insert(xlToRoght);
олеЛист.Range("B:B").Copy (олеЛист.Range("L:L")) |
|||
81
gr13
22.01.09
✎
09:27
|
(78, 80) не работает(((
ФайлExcel = Новый COMОбъект("Excel.Application"); КнигаExcel = ФайлExcel.Workbooks.Open(ВыбранныйФайл); олеЛист = ФайлExcel.Worksheets.Item(НужныйЛист); КонечнаяСтрока = олеЛист.Cells.SpecialCells(11).Row; олеЛист.Columns("B:B").Insert(xlToRight,0); олеЛист.Columns("B:B").Insert(xlToRight,0); олеЛист.Columns("B:B").Copy(); олеЛист.Columns("L:L").Insert(xlToRight); олеЛист.Range("B:B").Copy(олеЛист.Range("L:L")); |
|||
82
skunk
22.01.09
✎
09:33
|
ты два раза раздвигаешь "B:B" ... то есть на момент копирования в колонке "В" уже пустая строка... вот он в колнку L тебе пустую строчку и копирует
|
|||
83
gr13
22.01.09
✎
09:37
|
(+81) все супер - все работает.
с утра не догнал. Спасибо |
|||
84
skunk
22.01.09
✎
09:44
|
блин так надо было
ты два раза раздвигаешь "B:B" ... то есть на момент копирования "В" уже пустая колонка... вот он пустую колонку L тебе и копирует не строка - колонка |
|||
85
gr13
22.01.09
✎
09:51
|
(84) я догадался, когда отвлекся и подумал
|
|||
86
gr13
22.01.09
✎
09:52
|
(84) кстати, ты не знаешь способа открытия в 7.7 по OLE внешней обработки?
|
|||
87
gr13
22.01.09
✎
09:52
|
(+86) я знаю один - изменение в Глобальном модуле. и запуск обработки из процедуры ГМ
|
|||
88
vde69
22.01.09
✎
09:54
|
(86)
GBase.OpenForm "Отчет." & Application.Worksheets("Настройки").Cells(n, 2).Value, Par, "", "", "", "" только параметры другие и пример это из VB |
|||
89
vde69
22.01.09
✎
09:55
|
(87) Обрати внимание на количество параметров
|
|||
90
skunk
22.01.09
✎
09:55
|
олеСервер.EvalExpr("openformmodal(""Отчет"", , """ + стрИмяФайлаОбработки + """)");
|
|||
91
gr13
22.01.09
✎
10:08
|
понял, спасибо
|
|||
92
gr13
22.01.09
✎
11:26
|
||||
93
vde69
22.01.09
✎
13:24
|
(92) НЕ ПРАВИЛЬНО!!!!
1с и VB - конфликтуют очень часто (из-за отладчиков), по этому "Попытка" - это зло, все мыслемые проверки надо делать явно!!! |
|||
94
rie
22.01.09
✎
13:33
|
(92) Проверить существование файла можно через ФС, а не попыткой его открытия.
Опять-таки - где Application, а где Workbook? Насчёт "позиционируется на" - это пока везёт. Существует ли лист с таким именем - тоже можно определить перебором листов книги (есть у листа свойство Name). Если написать Лист = КнигаExcel.Worksheets(1); а потом вместо КнигаExcel.Worksheets(1).Cells(1,1) = 123; писать Лист = КнигаExcel.Worksheets(1); то не будет лишние разы дёргаться свойство Worksheets (OLE и без того время пожирает азартнее, чем мишка мёд). Quit - это просто замечательно. Особенно приятно при этом наблюдать за лицом пользователя, открывшего с десяток нужных ему книг, который запустил 1С-обработку и после завершения её наблюдает, как весь этот десяток книг торжественно закрывается. |
|||
95
vde69
22.01.09
✎
13:37
|
||||
96
skunk
22.01.09
✎
13:43
|
(93)попытка - зло? ... обснуйте...
(94)через ФС много чего нельзя проверить, а вот ексель не откроет... права на чтение к примеру... или открыт файл или нет... или уже открытый в екселе файлик |
|||
97
vde69
22.01.09
✎
14:01
|
(96) я уже обьяснил - причина в конфликтах.
То-есть Исключение должно подниматься в ИСКЛЮЧИТЕЛЬНЫХ случаях а не для проверки наличия файла и т.д. (94) по поводу ФС // взвращает -1 - нет доступа, 1 - каталог, 0 - файл Функция ЭтоКаталог(Каталог, ИмяФайла) перем раз, атр; Если (ИмяФайла = ".") или (ИмяФайла = "..") Тогда Возврат -3; КонецЕсли; ФС.АтрибутыФайла(Каталог + ИмяФайла, раз, атр); Если (Сред(атр,9,1) = "1") и (Сред(атр,4,1) = "1") Тогда Возврат -1; ИначеЕсли (Сред(атр,4,1) = "1") Тогда Возврат 1; ИначеЕсли (СокрЛП(атр) = "0") Тогда Возврат -2; Иначе Возврат 0; КонецЕсли; КонецФункции а через скрипты вообще все можно, |
|||
98
gr13
22.01.09
✎
14:06
|
(95) ужасный сайт) терпеть не могу инфостарт
|
|||
99
gr13
22.01.09
✎
14:07
|
а как можно закрыть в данном случае конкретный файл? не все сеансы Excel, а именно конкретный7
|
|||
100
gr13
22.01.09
✎
14:08
|
(100)
|
|||
101
gr13
22.01.09
✎
14:08
|
а что за прикол ставить между процедурой (функцией) и скобками пробел?
|
|||
102
skunk
22.01.09
✎
14:09
|
(97)вы разницу между правом на чтение и аттрибутом понимаете... судя по всему нет... если что... под правом на чтение имелось ввиду не атрибут риад онли... а вкладка безапасность в пропертях
|
|||
103
gr13
22.01.09
✎
14:13
|
(102) да я помню) я тож как - то на этом попался в базе 7.7... когда расшаривал папочку. Там какие-то настройки нада сделать в 2003? по умолчанию он вроде не требует
|
|||
104
vde69
22.01.09
✎
14:37
|
(99)
Соответстие["EXCEL"].DisplayAlerts = 0; Соответстие["ExcelФайл"].Close(); Соответстие["EXCEL"].DisplayAlerts = 1; (101) мне так зрительней удобно. (102) я знаю разницу, а вот Вы СП не читали, прочтите по 9 символ >>>девятый символ: если ''1'' - нет доступа к файлу. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |