On-line: i3t4j6, Pasha, гостей 0. Всего: 2 [подробнее..]
АвторСообщение
Dima
администратор




Пост N: 2372
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 21.05.12 16:52. Заголовок: Снова EXCEL (продолжение)


Ранее с Excel из Harbour ни когда не работал.
Поставили тут задачу.
У некоторых поставщиков есть определенные формы заказов.
Набраны они в Excel. Сейчас народ руками заполняет эти формы
и шлет по электронке поставщикам.
Задача сводится к тому что бы в этих формах находить
нужные коды товара и в нужной ячейке проставлять заказ.
Может ткнет кто носом с чего начать что бы не напороться на грабли.
Спасибо
Сами формы тут http://zalil.ru/33279066

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]


Andrey
постоянный участник




Пост N: 6727
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 19.06.20 19:54. Заголовок: Oskar_AAA пишет: Ко..


Oskar_AAA пишет:

 цитата:
Коллеги, есть ли пример кода запуска LibreOffice под xHarbour?


Смотри пример в МиниГуи - :\MiniGUI\SAMPLES\Advanced\Tsb_Export
Под хХарбор можно его переделать.

Спасибо: 0 
Профиль
Oskar_AAA



Пост N: 130
Зарегистрирован: 09.09.11
ссылка на сообщение  Отправлено: 21.06.20 07:41. Заголовок: Добрый день. Спасиб..


Добрый день. Спасибо

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 7213
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 20.07.20 13:53. Заголовок: Pasha пишет: Насчет..


Pasha пишет:

 цитата:
Насчет админ прав - это мысль, проверю на проблемных компьютерах, где проказник-эксель отказывается работать


Сегодня нарвался на ошибку да на ровном месте а ведь все работало :)
Оказалось что отвалился принтер по умолчанию (или помог кто то , не было умалчиваемого принтера , хотя был) и штуки
вида oSheet:PageSetup........... начали дружно бить ошибки

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 6759
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 20.07.20 15:35. Заголовок: Всем привет ! А как ..


Всем привет !
А как можно записывать свои формулы при создании листа экселя ?
Допустим есть такая формула =RC[-13]-RC[-14], при создании листа записываю эту формулу как текст в ячейку.
А как потом указать Экселю, что это формула и нужно пересчитать ?
Ни разу таким не занимался.
А заказчик хочет свои формулы править.
Вот и сделал ТСБ с формулами по нужным колонкам, а в экселе идёт вставки ячейки как текст, а нужно как формула.

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 3964
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 20.07.20 16:06. Заголовок: А как можно Все что..



 цитата:
А как можно



Все что делает эксель, можно заставить его делать через ole. А как ? Включить запись макросов, и посмотреть, как он это делает, и сделать так же.
На тот случай, когда запись опять сломалась, вместо oRange:Value надо присваивать строку в oRange:Formula

Спасибо: 0 
Профиль
Pasha
Администратор




Пост N: 3965
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 20.07.20 16:07. Заголовок: Dima пишет: Сегодня..


Dima пишет:

 цитата:
Сегодня нарвался на ошибку да на ровном месте а ведь все работало :)



Да, эксель дуреет, если нет принтера, и все, что связано с форматирование страниц, отваливается. Тоже нарывался на такое

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 6763
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.07.20 09:27. Заголовок: А можно где то в Экс..


А можно где то в Экселе записать 3-4 значения и чтобы юзер их не мог отредактировать ?

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 7214
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 24.07.20 09:53. Заголовок: Andrey пишет: А мож..


Andrey пишет:

 цитата:
А можно где то в Экселе записать 3-4 значения и чтобы юзер их не мог отредактировать ?


Попробуй руками в EXCEL , если получится то можно и в Harbour перенести

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 6764
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.07.20 10:04. Заголовок: Так я и спрашиваю, г..


Так я и спрашиваю, где это можно сделать.
Есть ли места, где юзер не видит этих данных ?
По простому можно наверное сделать на втором листе сразу в первой ячейки, допустим
DATE(), вторая ячейка - фио юзера (кто делал отчёт), третья - период расчёта.
Можно эти данные сделать белым цветом и юзер их не увидит, а мне в другой проге это нужно будет.
Но юзер может тупо удалить второй лист и мои данные "накрылись".
Вот и спрашиваю, где можно расположить такие данные, чтобы ОБЫЧНЫЙ юзер не смог исправить такие данные.

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 7215
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 24.07.20 10:08. Заголовок: ну можно заблочить к..


ну можно заблочить колонку(и) под пароль и скрыть её

Спасибо: 0 
Профиль
ZAlex



Пост N: 46
Зарегистрирован: 22.01.14
ссылка на сообщение  Отправлено: 24.07.20 10:32. Заголовок: информация к размышл..


информация к размышлению:
если смотреть свойства файла (закладка Подробно), то можно узнать кто создал и сохранил файл.
Но это возможно, если Office зарегистрирован.
К тому же , эти данные как-то надо прочесть. (я не знаю как, пока)

Спасибо: 0 
Профиль
nick_mi



Пост N: 228
Зарегистрирован: 19.05.05
ссылка на сообщение  Отправлено: 24.07.20 14:35. Заголовок: Andrey пишет: А мож..


Andrey пишет:

 цитата:
А можно где то в Экселе записать 3-4 значения и чтобы юзер их не мог отредактировать


В Excel есть защита и листа и защита ячеек на листе, можно воспользоваться

Спасибо: 0 
Профиль
PSP
постоянный участник


Пост N: 1591
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 24.07.20 16:04. Заголовок: Andrey пишет: Можно..


Andrey пишет:

 цитата:
Можно эти данные сделать белым цветом и юзер их не увидит


Ставишь курсор на ячейку и вверху видишь ее содержимое.

Спасибо: 0 
Профиль
Haz
администратор




Пост N: 1580
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 24.07.20 20:00. Заголовок: Andrey пишет: А мо..


Andrey пишет:

 цитата:

А можно где то в Экселе записать 3-4 значения и чтобы юзер их не мог отредактирова


Можно, как уже написали , есть стандартные методы защиты ячеек. При записи макроса видно как их использовать , включая работу с паролем на изменение.

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 6765
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 24.07.20 21:41. Заголовок: Спасибо всем за отзы..


Спасибо всем за отзывы.
Нашёл вроде интересное решение проблемы.
Писать данные во второй лист (как обычно он всегда присутствует), а потом его скрыть.
Думаю обычный юзер не станет этот лист открывать и тем более удалять.

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 7216
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 25.07.20 18:37. Заголовок: Andrey пишет: Думаю..


Andrey пишет:

 цитата:
Думаю обычный юзер не станет этот лист открывать и тем более удалять.


Можно еще проще , писать можно нужные тебе данные ну скажем
в строке с номером 10 000 и сделать белым шрифтом на белом фоне.
Ни кто и искать не станет

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 6766
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.07.20 18:46. Заголовок: Dima пишет: Можно е..


Dima пишет:

 цитата:
Можно еще проще , писать можно нужные тебе данные ну скажем
в строке с номером 10 000 и сделать белым шрифтом на белом фоне.


Это да, так можно.
НО !!! попробуй отправить на печать такой лист.
Удивишься сколько бумаги уйдёт...
Юзер будет просто в ауте.

Спасибо: 0 
Профиль
MIKHAIL





Пост N: 271
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 26.07.20 09:27. Заголовок: Andrey пишет: Нашёл..


Andrey пишет:

 цитата:
Нашёл вроде интересное решение проблемы.
Писать данные во второй лист (как обычно он всегда присутствует), а потом его скрыть.
Думаю обычный юзер не станет этот лист открывать и тем более удалять.



можно сделать суперскрытый лист, он только через макрос VB может быть открыт

Спасибо: 0 
Профиль
Andrey
постоянный участник




Пост N: 6770
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.07.20 16:41. Заголовок: Да думаю этого доста..


Да думаю этого достаточно будет для обычного юзера.
Для других целей нужны другие подходы.

Сделал тест, кому будет интересно:
 
oExcel:WorkBooks:Add()
oExcel:Visible := .T.
oBook := oExcel:ActiveWorkBook
oSheet := oExcel:ActiveSheet()

oSheet := oBook:Sheets(2)
oSheet:name := "МОЁ_НЕ_ТРОГАТЬ!" // имя листа изменить

nCnt := oBook:Sheets:Count // количество листов в книге
cMsg := "Количество листов в книге = " + HB_NtoS(nCnt) + ";"

FOR EACH oSheet IN oBook:WorkSheets
cMsg += oSheet:Name + ";"
NEXT

cMsg := StrTran(cMsg, ";", CRLF )
MsgInfo(cMsg)

oSheet:Cells:Font:Name := "Arial"
oSheet:Cells:Font:Size := 12

oSheet:Cells( 3, 1 ):Value := "City:"
oSheet:Cells( 3, 2 ):Value := "Moskow"
....... // далее запись во 2 лист

oSheet:Visible := .F. // скрыть лист 2

oBook:Sheets(3):Select() // перейдём на 3 лист
oSheet := oExcel:ActiveSheet()
oSheet:Visible := .F. // скрыть лист 3

oBook:Sheets(1):Select() // вернутся на 1 лист
oSheet := oExcel:ActiveSheet()
oSheet:name := "Мой_отчёт" // имя листа изменить
...........

Исправления и правка приветствуются !
Как считать со скрытого листа, даже ещё и не знаю и не пробовал ....

Спасибо: 0 
Профиль
Dima
администратор




Пост N: 7218
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 26.07.20 16:59. Заголовок: Andrey пишет: Как с..


Andrey пишет:

 цитата:
Как считать со скрытого листа, даже ещё и не знаю и не пробовал ....


Да точно так же

Спасибо: 0 
Профиль
Ответов - 300 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 All [только новые]
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 64
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет