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




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


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

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


Sergy





Пост N: 486
Зарегистрирован: 08.07.06
ссылка на сообщение  Отправлено: 05.01.16 00:41. Заголовок: Dima пишет: Что кас..


Dima пишет:

 цитата:
Что касаемо картинки ....проделывал уже такой эксперимент , результат выше описал.


Excel 2000 и 2010 при формате ДД.ММ.ГГ показывает все четко, год двумя цифрами.
А вот если задать DD.MM.YY - любую дату преобразует в целое число (видно в строке формул вверху), а внутри ячейки пишет (дословно) "DD.MM.YY"

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



Пост N: 71
Зарегистрирован: 09.09.11
ссылка на сообщение  Отправлено: 13.01.16 15:55. Заголовок: Добрый день, коллеги..


Добрый день, коллеги.
Программа на xHarbour, выгружаю файлы MS Excel, затем собираем в сводный отчет данные из выгруженных файлов MS Excel.
Слетают настройки цветов и форматов в сводном отчете... Пробовал на разных версиях MS Excel, закономерности пока не нашел.
Но на 1 ПК всегда выгружается без сбоев.Операционные системы на всех ПК - Win7, офис возможно разный...
Что может быть в тонкостях настройки MS Excel?

Всех со "Старым" Новым Годом!!!


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



Пост N: 3
Зарегистрирован: 04.04.16
ссылка на сообщение  Отправлено: 06.05.16 02:21. Заголовок: Help me pls. Длител..


Help me pls.

Длительное время работает такая схема формирования отчета в Excel
1.Грузится xls-файл - образец с отформатированной шапкой (соответственно - нужные ширины столбцов)
Чтобы не портить образец ( юзера всегда умудрятся его перезаписать)
2.Копируется лист
3.Создается новая книга.
4.Вставка в лист новой книги.
5.Добавление строк отчета в новую книгу

oExcel:Workbooks:Open(cFile)
oBook:=oExcel:ActiveWorkbook()
oBook:Worksheets(1):Cells:Copy()

oBookN:=oExcel:WorkBooks:Add() //новая пустая книга
oSheet:=oBookN:Worksheets(1)
oSheet:Paste()

Вдруг с некоторых пор на одном рабочем месте перестали копироваться ширины столбцов.

Пытался найти отличия в настройках Excel-я влияющие на режим копирования - не нашел.

Второй вариант - принудительное копирование ширин столбцов.
В макросе это выглядит так
Cells.Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
//вставка ширин столбцов
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Как последнюю строку макроса переписать в терминах Харбора?



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


Пост N: 1192
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 06.05.16 06:47. Заголовок: Пробуйте так (не про..


Пробуйте так (не проверял)

#define xlPasteColumnWidths 8
#define xlPasteSpecialOperationNone -4142

Paste := oExcel:ActiveSheet():PasteSpecial(xlPasteColumnWidths, xlPasteSpecialOperationNone, False, False)



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



Пост N: 4
Зарегистрирован: 04.04.16
ссылка на сообщение  Отправлено: 06.05.16 06:58. Заголовок: Error 1559948/3 DIS..


Error 1559948/3 DISP_E_MEMBERNOTFOUND: PASTESPECIAL

похоже - не находит метод PASTESPECIAL

P.S.

без ошибок прошло

oSheet:Cells:PasteSpecial(xlPasteColumnWidths, xlPasteSpecialOperationNone, .f., .F.)


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


Пост N: 1193
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 06.05.16 07:34. Заголовок: Sadstar2016 пишет: ..


Sadstar2016 пишет:

 цитата:

без ошибок прошло
oSheet:Cells:PasteSpecial(xlPasteColumnWidths, xlPasteSpecialOperationNone, .f., .F.)


Ну да, поскольку PasteSpecial в Excel метод обьекта Range, Cells: там нужен
oExcel:ActiveSheet():Cells:PasteSpecial
Петр пишет:

 цитата:
Пробуйте так (не проверял)



Но вы не об этом и спрашивали
Как я понял, суть вопроса - как преобразовать вызов метода, а не к чему этот метод применить


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





Пост N: 155
Зарегистрирован: 05.10.06
ссылка на сообщение  Отправлено: 13.05.16 16:11. Заголовок: Sadstar2016 пишет: ..


Sadstar2016 пишет:

 цитата:
1.Грузится xls-файл - образец с отформатированной шапкой (соответственно - нужные ширины столбцов)
Чтобы не портить образец ( юзера всегда умудрятся его перезаписать)



Может проще скопировать файл шаблона и работать с ним?

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



Пост N: 5
Зарегистрирован: 04.04.16
ссылка на сообщение  Отправлено: 16.05.16 01:53. Заголовок: IMHO - пусть юзер са..


IMHO - пусть юзер сам решает - где и под каким именем хранить файл - если его вообще нужно хранить

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



Пост N: 430
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 19.05.16 12:56. Заголовок: Передача параметра в макрос


На листе Excel создаю кнопку
oExc:Sheets(1):Buttons:Add(120, 20+30*(cnt-1), 350, 22)
и указываю макрос, который должен выполниться при клике на этой кнопке
oExc:Sheets(1):Buttons(cnt):OnAction:="Макрос1"

А как можно сделать вызов этого макроса с параметром ?

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



Пост N: 431
Зарегистрирован: 17.06.10
ссылка на сообщение  Отправлено: 19.05.16 16:07. Заголовок: Параметр, видимо, пе..


Параметр, видимо, передать нельзя. Но можно использовать свойство кнопки Parameter,
а в макросе поймать эту кнопку через Caller

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



Пост N: 148
Зарегистрирован: 10.07.07
ссылка на сообщение  Отправлено: 10.06.16 17:08. Заголовок: Как задать денежный формат ячейки?


Нужно из xHarboura при заполнении Excel-файла задать формат поля "Денежный".
Офис 2013. При вводе туда числа должен появляться символ ₽ ( Unicode 20BD ).
Если сделать в самом Excel формат ячейки "Денежный" то все нормально.
Кстати, этот новый символ рубля сидит на Правом Alt + 8.

Попробовал вставить формат, который выдает макрос:
Selection.NumberFormat = "#,##0.00 $"

Переделал под xHarbour:
NumberFormat := '# ##0,00 $ '

Добавляется только символ доллара в конце, что навело на мысль попробовать
формат '# ##0,00 p.' с английской p, или HB_OemToAnsi( '# ##0,00 руб.' ). Все
получилось, буковки появляются, числа можно складывать и т.д.
Но все-таки, как быть с символом ₽?



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




Пост N: 1009
Зарегистрирован: 20.02.11
ссылка на сообщение  Отправлено: 10.06.16 17:54. Заголовок: TimTim пишет: Попро..


TimTim пишет:

 цитата:
Попробовал вставить формат, который выдает макрос:
Selection.NumberFormat = "#,##0.00 $"



макрос выдает другой формат при выборе значка рубля
Selection.NumberFormat = "#,##0.00 [$?-419]"

но OLE это тоже не понимает

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




Пост N: 4965
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.06.16 13:21. Заголовок: Всем привет ! Исполь..


Всем привет !
Использую Ms Офис 2003 SP3.
Периодически появляется дурацкая табличка:


Как от неё избавиться ? Есть ли какой то флаг для этого сообщения ?


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




Пост N: 5709
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 12.06.16 13:29. Заголовок: Andrey Погугли..


Andrey
Погугли

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




Пост N: 4970
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.06.16 15:43. Заголовок: Dima пишет: Погугли..


Dima пишет:

 цитата:
Погугли


Ничего для себя не нашёл.

Методом проб и ошибок выяснил - неправильную работу в МиниГуи функции oBrw:Excel2(...)
при вот вот таком формате вывода в Эксель:
oBrw:aColumns[nJ]:cDataType := 'N'
oBrw:aColumns[nJ]:cPicture := '99:99'

Как исправить ?

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




Пост N: 5041
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.08.16 22:34. Заголовок: Обрезает нули в Ексе..


Обрезает нули в Екселе для текстового формата.

Вывожу текстовые данные поля бд в ячейку - типа "0000345", указываю в ячейке формат:
oSheet:Cells( nLine, nI ):SET( "NumberFormat", '@' ) // текстовая ячейка

Как избавиться от обрезания ?


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




Пост N: 5944
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.08.16 08:43. Заголовок: Поставь формат что т..


Поставь формат что то типа 0000000000
Где кол-во нулей равно длине строки в твоем случае 0000000

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




Пост N: 5042
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 06.08.16 12:26. Заголовок: Dima пишет: Постав..


Dima пишет:

 цитата:

Поставь формат что то типа 0000000000


Спасибо !
Но тогда разрушается универсальность функции перекодировки Dbf->Xls.
Текстовые данные могут быть разными.
Я у себя делаю так:
Скрытый текст


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




Пост N: 5945
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.08.16 12:28. Заголовок: Andrey Тогда читай ..

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




Пост N: 5946
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 06.08.16 16:52. Заголовок: Andrey пишет: IF FI..


Andrey пишет:

 цитата:
IF FIELDTYPE( cPole ) == "C"
oSheet:Cells( nLine, nI ):SET( "NumberFormat", '@' ) // текстовая ячейка


а вот тут нужна доп проверка а не цифры ли там одни живут и если так то
NumberFormat будет другим.

PS
По ходу не нашел (может искал плохо или еще что ) такой функции "а не цифры ли там одни живут" , так что придется
лепить свою.

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