|
Перенести формулу в Excel при стандартном сохранении табличного документа 1с 8 | ☑ | ||
---|---|---|---|---|
0
DmitriyDI
24.05.18
✎
15:36
|
Добрый день!
Есть табличный документ, в ячейке пишу: "=R6C2 - R10C2 - R12C2 - R14C2 - R17C2", сохраняю, таб. док сохраняю через Записать(). В сохраненном документе, отображается вместо моей формулы текст, если два раза по нему нажать, то появляется формула, как можно сделать, чтобы формула появлялась сразу при открытии эксель файла? |
|||
1
DmitriyDI
24.05.18
✎
15:40
|
(0) Может какой скрипт после сохранения над файлом экселевским выполнить. Или может обойти его перебором и что-нибудь указать?
|
|||
2
Масянька
24.05.18
✎
15:42
|
(0) В настройках Excel - "показывать формулы, а не их значения".
|
|||
3
bolobol
24.05.18
✎
15:44
|
(2) Это как поможет?
|
|||
4
DmitriyDI
24.05.18
✎
15:47
|
(2) Это не то
|
|||
5
DmitriyDI
24.05.18
✎
15:51
|
(0) пока выход видится такой, после сохранения подключаться к файлу, пробегать перебором, если текст ячейки начинается с =, то писать что-то вроде Ехсел.Cells(1, 3).FormulaR1C1.FormulaR1C1 = "=R6C2 - R10C2 - R12C2 - R14C2 - R17C2";
|
|||
6
Gantosha
24.05.18
✎
15:54
|
FormulaR1C1 ты формулу куда пишешь - ее вот сюда надо писать .
|
|||
7
DmitriyDI
24.05.18
✎
15:55
|
(6) я формулу пишу в табличный документ 1Совский)) потом сохраняю как эксель
|
|||
8
Gantosha
24.05.18
✎
15:57
|
ну, ето я не знаю ..у мне есть формулы , но там сохраняется в лист .. правда механизм расчета куда что писать дикий.
Но видимо с формулами и записью в 1с отчет тоже не прокатило. Иначе бы не стал мучатся. |
|||
9
DmitriyDI
24.05.18
✎
16:32
|
Есть еще варианты решения данной задачи? Пока пытаюсь заставить ком экселевский работать на сервере.
|
|||
10
bolobol
24.05.18
✎
16:38
|
Можно попробовать в Эксель.Аппликейшн открыть этот файл и Селект(); Селектион.Реплэйс("=", "="); сделать. Интерактивно срабатывает.
|
|||
11
DmitriyDI
24.05.18
✎
17:01
|
(10) Понял, спасибо! Буду пробовать.
|
|||
12
DmitriyDI
24.05.18
✎
17:33
|
(0) дописал так, работает, если кому нужно (Вложение - полное имя сохраненного файла эксель):
Excel = Новый COMОбъект("Excel.Application"); Книга = Excel.WorkBooks.Open(Вложение); Excel.Visible = 0; Excel.ActiveWindow.DisplayWorkbookTabs = 1; Excel.ActiveWindow.TabRatio = 0.6; Лист = Книга.WorkSheets(1); ВсегоСтрок = Лист.Cells.SpecialCells(11).Row; //-кол-во строк всего ВсегоКолонок = Лист.Cells.SpecialCells(11).Column; //-кол-во колонок всего Для а = 1 По ВсегоСтрок Цикл Для б = 1 по ВсегоКолонок Цикл Если Лев(Лист.Cells(а, б).FormulaR1C1, 1) = "=" Тогда Лист.Cells(а, б).FormulaR1C1 = Лист.Cells(а, б).FormulaR1C1; КонецЕсли; Конеццикла; Конеццикла; FullName = Excel.ActiveWorkbook.FullName; Excel.DisplayAlerts = false; Excel.ActiveWorkbook.SaveAs(FullName, 51); // 18 - xls 97-2003; 51 - xlsx 2007-2013 //Excel.Visible = 1; // если нужно поработать дальше с книгой Excel.Application.Quit(); // если просто выходим |
|||
13
bolobol
25.05.18
✎
09:15
|
А не проверял, случаем, с Селект(); Селектион.Реплэйс("=", "="); ? - не работает?
|
|||
14
DmitriyDI
25.05.18
✎
09:56
|
(13) нет, точно синтаксиса не знаю, поэтому не стал
|
|||
15
bolobol
25.05.18
✎
10:18
|
Для колонки "й", как взять именно колонку целиком, или от колонки до колонки, или весь лист - чтоб более просто - не скажу, а и почему именно так написано - тоже, Параметры - первый "на что меняем", а далее что за ,2,1,0,0 - тоже не вспомню, но, думаю, МСДН может пролить свет:
Эксель.Range(Эксель.Sheets(_ИспользуемаяСтраница).Cells(_НомерСтрокиЗаголовков+1,й), Эксель.Sheets(_ИспользуемаяСтраница).Cells(КонечнаяСтрокаДанных,й)).Select(); Эксель.Selection.Replace("Истина", 1, 2, 1, 0, 0); Эксель.Selection.Replace("Да", 1, 2, 1, 0, 0); Эксель.Selection.Replace("Нет", 0, 2, 1, 0, 0); Эксель.Selection.Replace("Ложь", 0, 2, 1, 0, 0); |
|||
16
bolobol
25.05.18
✎
10:19
|
Первый - "что меняем", в второй - "на что", и далее ",2,1,0,0"- непонятных
|
|||
17
bolobol
25.05.18
✎
10:20
|
Эксель = новый COMОбъект("Excel.Application");
|
|||
18
DmitriyDI
30.10.18
✎
17:56
|
(15) работает, и быстрее чем мой вариант, этот вариант в итоге и оставил.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |