Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
Ситуация такая. Есть таблица, в которую заносятся записи в несколько полей. Возможно ли вставить в открытую foxoвскую таблицу скопированные (ctrl+c) ячейки из excel-документа? Или есть какие-то другие варианты? Если можно, то как этого добиться. Если я не смогу сделать этого до сегодняшних 2 дня, то вся моя работа пойдет на смарку, придется переписывать прогу под Access. Жаль будет... :( Народ, помогите, пожалуйста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 09:44 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
а чем конкретно вы занимаетесь что хотите сделать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 10:16 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
Одну ячейку можно вставить. А механизма групповой вставки сразу в несколько строк или полей из буфера обмена в FoxPro не предусмотрено. Ну, разве что, программный разбор содержимого буфера обмена (содердимое переменной _ClipText) Переписывай под Access! Только не плачь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 10:17 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
Есть dbf-таблица, в нее будут забиваться данные. Я открываю ее в гриде. В эту таблицу должны заноситься данные. Некоторые позиции вносятся вручную. А некоторые должны просто копироваться из excel и вставляться в эту таблицу. Копироваться для того, чтобы облегчить работу по забиванию таблицы, многие данные уже предоставлены на совершенно разных документах excel. То есть для каждого excel-документа в отдельности нет возможности конвертировать данные в dbf, потому что документы совершенно разного формата, нужно копировать только какую-то часть этого документа, которая должна выбираться непосредственно пользователем, представления о том, что он будет копировать в grid нет (но это однозначно ячейка(ячейки) excel). Как оформить это копирование в мою таблицу. И есть ли возможность максимально упростить эту операцию (По типу скопировал ячейки в excel, выбрал поле в gride, нажал вставить, и данные из excel автоматически вставляются в тем же блоком в мою таблицу) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 10:27 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
Да..., пустить под access месяц работы в fox pro... Может, все таки есть варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 10:29 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
Да..., пустить под access месяц работы в fox pro... Может, все таки есть варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 10:30 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
не лучший вариант но просто ничего в голову не идет создаете excel объект в фоксе открываете все нужные таблицы на форме ставите кнопку копия из ексель при нажатии на кнопку копируеться значение из активной ексель таблицы и активного поля в фокс а затем обрабатываеться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 10:42 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
Как раз сейчас этим и занимаюсь. Только как скопировать данные допустим выделенных 9 ячеек excel (3 на 3) в соответствующие 9 полей (те же 3 на 3) грида? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 10:49 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
ну Вам же сказали никак копируйте по одной или можно обрабатывать выбранный диапазон правда таблицы разные и я так понял что общего правила нет а по какому принципу фокс должен сообразить как ему разбить строку буфера и что куда вставлять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 10:54 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
Все, уже сижу с 1000страничной книжищей access для профессионалов. Обломалась моя работа, придется все переделывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 11:10 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
Можно предложить такой вариант - получаем в массив выделенный в текущей Экселевской книге диапазон: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 11:18 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
Немного исправленный вариант с определением размерности выделенной области: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 11:49 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
Понятно, а как теперь определенным полям foxproшной таблицы задать значения этого массива? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 12:30 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
как угодно scatter например ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 12:40 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
Что-то типа: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 12:43 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
Пожалуста, у меня пожар. Язык знаю не очень хорошо, времени разбираться просто нет. Как из этого массива данные добавить в таблицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 12:44 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
Почуму так мрачно?... Я делал вставку данных из таблиц Word. делал я так: GETOBJECT(,"Word.Application") или CreateObject(...) oDoc=createobject(,"Word.Document) в тот документ вставляем из буфера oDoc.Selection.Paste rCount=oDoc.tables.item(1).Rows.count cCount=oDoc.tables.item(1).Columns.count for i=1 to rCount for j=1 to cCount r[j]=SUBSTR(oDoc.tables.item(1).cell(i,j).range.text,1,LEN(oDoc.tables.item(1).cell(i,j).range.text)-2) .... Ну а для Excel тоже иожно єто сделать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 12:59 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
Собрав всё вместе получим такую процедурку на клик кнопки или иное событие по которому происходит перенос данных: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 1) Пользователь должен так выбирать диапазон, чтобы колонок было именно Y и они соответствовали полям баз. Можно конечно определить в какой колонке грида стоит пользователь, но могут возникнуть сложности с типом данных- смотри пункт ниже. 2)Из экселя все данные получаются строкового типа, поэтому в Replace надо для этих полей выполнить преобразование (заменить laArray(x,y) допустим VAL(laArray(x,y))) 3) Диапазон, выделенный в Экселе при переносе не должен достигнуть конца таблицы. Все эти проблемы можно решить. Но вам виднее что легче в данной ситуации - решать их или поставить пользователя в рамки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 14:13 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
В принципе после создания массива из excel я дописывал APPEND FROM ARRAY laArray FIELDS field1, field2, field3, ... И нужные поля заполнялись. А на вариант FOR lnCount = 1 TO y REPLACE zakupka.field1 WITH laArray(lnCount,1) REPLACE zakupka.field2 WITH laArray(lnCount,2) ...... REPLACE zakupka.fieldy WITH laArray(lnCount,y) SKIP ENDFOR ругается, выдает несколько раз ошибку несовпадение типа данных А как можно выделить несколько ячеек грида? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 14:42 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
Простите, немного непонял - Append from - добавляет новые строки, я думал вам в уже добавленных надо данные подставлять. А если добавляются новые строки, то зачем выделять несколько ячеек? Всё равно в конец таблицы всё добавится независимо от выделения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 14:53 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
если нужно добавлять то используте append blank a не skip ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 15:01 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
У меня есть порядка 20 полей в таблице. Данные вставляются блоком (из созданного массива) Как добиться того, что бы блок данных вставлялся начиная с выделенного места таблицы (например сейчас выделена 3 строка поля field3. В массиве содержится 2 на 2 excelевские ячейки , мне нужно, чтобы они вставились в 3 и 4 строку полей field3 и field4) Append пришлось использовать, потому что с replace пока не получается. Вот такая ситуация. Это последнее, что мне осталось написать, что бы выполнить все требования, можно ли такого добиться? Извиняюсь, за кривую постановку вопроса, опыт написания на foxe очень маленький. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 15:08 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
APPEND FROM ARRAY ArrayName [FOR lExpression] [FIELDS FieldList] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 15:17 |
|
||
|
Копирование через буфер в excel
|
|||
|---|---|---|---|
|
#18+
GATHER FROM ArrayName | MEMVAR | NAME ObjectName [FIELDS FieldList | FIELDS LIKE Skeleton | FIELDS EXCEPT Skeleton] [MEMO] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.09.2004, 15:18 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=360&tid=1595794]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 371ms |

| 0 / 0 |
