Автор | Сообщение |
Dima
|
| |
Пост N: 2372
Зарегистрирован: 17.05.05
|
|
Отправлено: 21.05.12 16:52. Заголовок: Снова EXCEL (продолжение)
Ранее с Excel из Harbour ни когда не работал. Поставили тут задачу. У некоторых поставщиков есть определенные формы заказов. Набраны они в Excel. Сейчас народ руками заполняет эти формы и шлет по электронке поставщикам. Задача сводится к тому что бы в этих формах находить нужные коды товара и в нужной ячейке проставлять заказ. Может ткнет кто носом с чего начать что бы не напороться на грабли. Спасибо Сами формы тут http://zalil.ru/33279066
|
|
|
Ответов - 300
, стр:
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"
|
|
|
Oskar_AAA
|
| |
Пост N: 71
Зарегистрирован: 09.09.11
|
|
Отправлено: 13.01.16 15:55. Заголовок: Добрый день, коллеги..
Добрый день, коллеги. Программа на xHarbour, выгружаю файлы MS Excel, затем собираем в сводный отчет данные из выгруженных файлов MS Excel. Слетают настройки цветов и форматов в сводном отчете... Пробовал на разных версиях MS Excel, закономерности пока не нашел. Но на 1 ПК всегда выгружается без сбоев.Операционные системы на всех ПК - Win7, офис возможно разный... Что может быть в тонкостях настройки MS Excel? Всех со "Старым" Новым Годом!!!
|
|
|
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 Как последнюю строку макроса переписать в терминах Харбора?
|
|
|
Петр
|
| постоянный участник
|
Пост N: 1192
Зарегистрирован: 09.10.06
|
|
Отправлено: 06.05.16 06:47. Заголовок: Пробуйте так (не про..
Пробуйте так (не проверял) #define xlPasteColumnWidths 8 #define xlPasteSpecialOperationNone -4142 Paste := oExcel:ActiveSheet():PasteSpecial(xlPasteColumnWidths, xlPasteSpecialOperationNone, False, False)
|
|
|
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.)
|
|
|
Петр
|
| постоянный участник
|
Пост 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 Петр пишет: цитата: | Пробуйте так (не проверял) |
| Но вы не об этом и спрашивали Как я понял, суть вопроса - как преобразовать вызов метода, а не к чему этот метод применить
|
|
|
MIKHAIL
|
| |
Пост N: 155
Зарегистрирован: 05.10.06
|
|
Отправлено: 13.05.16 16:11. Заголовок: Sadstar2016 пишет: ..
Sadstar2016 пишет: цитата: | 1.Грузится xls-файл - образец с отформатированной шапкой (соответственно - нужные ширины столбцов) Чтобы не портить образец ( юзера всегда умудрятся его перезаписать) |
| Может проще скопировать файл шаблона и работать с ним?
|
|
|
Sadstar2016
|
| |
Пост N: 5
Зарегистрирован: 04.04.16
|
|
Отправлено: 16.05.16 01:53. Заголовок: IMHO - пусть юзер са..
IMHO - пусть юзер сам решает - где и под каким именем хранить файл - если его вообще нужно хранить
|
|
|
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" А как можно сделать вызов этого макроса с параметром ?
|
|
|
fil
|
| |
Пост N: 431
Зарегистрирован: 17.06.10
|
|
Отправлено: 19.05.16 16:07. Заголовок: Параметр, видимо, пе..
Параметр, видимо, передать нельзя. Но можно использовать свойство кнопки Parameter, а в макросе поймать эту кнопку через Caller
|
|
|
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 руб.' ). Все получилось, буковки появляются, числа можно складывать и т.д. Но все-таки, как быть с символом ₽?
|
|
|
|
Haz
|
| |
Пост N: 1009
Зарегистрирован: 20.02.11
|
|
Отправлено: 10.06.16 17:54. Заголовок: TimTim пишет: Попро..
TimTim пишет: цитата: | Попробовал вставить формат, который выдает макрос: Selection.NumberFormat = "#,##0.00 $" |
| макрос выдает другой формат при выборе значка рубля Selection.NumberFormat = "#,##0.00 [$?-419]" но OLE это тоже не понимает
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 4965
Зарегистрирован: 12.09.06
|
|
Отправлено: 12.06.16 13:21. Заголовок: Всем привет ! Исполь..
Всем привет ! Использую Ms Офис 2003 SP3. Периодически появляется дурацкая табличка: Как от неё избавиться ? Есть ли какой то флаг для этого сообщения ?
|
|
|
Dima
|
| |
Пост N: 5709
Зарегистрирован: 17.05.05
|
|
Отправлено: 12.06.16 13:29. Заголовок: Andrey Погугли..
Andrey Погугли
|
|
|
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' Как исправить ?
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5041
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.08.16 22:34. Заголовок: Обрезает нули в Ексе..
Обрезает нули в Екселе для текстового формата. Вывожу текстовые данные поля бд в ячейку - типа "0000345", указываю в ячейке формат: oSheet:Cells( nLine, nI ):SET( "NumberFormat", '@' ) // текстовая ячейка Как избавиться от обрезания ?
|
|
|
Dima
|
| |
Пост N: 5944
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.08.16 08:43. Заголовок: Поставь формат что т..
Поставь формат что то типа 0000000000 Где кол-во нулей равно длине строки в твоем случае 0000000
|
|
|
Andrey
|
| постоянный участник
|
Пост N: 5042
Зарегистрирован: 12.09.06
|
|
Отправлено: 06.08.16 12:26. Заголовок: Dima пишет: Постав..
Dima пишет: цитата: | Поставь формат что то типа 0000000000 |
| Спасибо ! Но тогда разрушается универсальность функции перекодировки Dbf->Xls. Текстовые данные могут быть разными. Я у себя делаю так: Скрытый текст ............ cPole := aField[ nI , 1 ] xValue := FIELDGET( FIELDNUM( cPole ) ) // значени полей DBF nDecPole := FieldDec( FIELDNUM( cPole ) ) // для формата числа oSheet:Cells( nLine, nI ):Value := xValue IF FIELDTYPE( cPole ) == "C" oSheet:Cells( nLine, nI ):SET( "NumberFormat", '@' ) // текстовая ячейка ELSEIF FIELDTYPE( cPole ) == "N" IF nDecPole == 0 // значит целое число oSheet:Cells( nLine, nI ):SET( 'NumberFormat', '## ### ###0' ) // числовая ячейка ELSE oSheet:Cells( nLine, nI ):SET( 'NumberFormat', '## ### ###0,00' ) // числовая ячейка ENDIF ELSEIF FIELDTYPE( cPole ) == "D" oSheet:Cells( nLine, nI ):SET( "NumberFormat", 'm/d/yy' ) // дата ячейка ELSE oSheet:Cells( nLine, nI ):SET( "NumberFormat", '@' ) // текстовая ячейка ENDIF .....
|
|
|
|
Dima
|
| |
Пост N: 5945
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.08.16 12:28. Заголовок: Andrey Тогда читай ..
|
|
|
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 По ходу не нашел (может искал плохо или еще что ) такой функции "а не цифры ли там одни живут" , так что придется лепить свою.
|
|
|
Ответов - 300
, стр:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
All
[только новые]
|
|