1

Тема: Помогите с форматированием цифр и переноса данных

Ув. г-да,

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

И еще, как можно эти же числа передать из одно таблицы в другую (отдельный файл) уже отформатрованным под рус.вар.? Исходный файл не находится локально, т.е. присылается по электронной почте ежедневно. OLE и Специальная вставка-Связать не срабатывают в данном случае. ПОМОГИТЕ!!!

Вложил файлик с примерами.

Post's attachments

Анг.doc 31.5 Кб, 6 скачиваний с 2010-12-02 

You don't have the permssions to download the attachments of this post.

2

Re: Помогите с форматированием цифр и переноса данных

Можно поиском и заменой. Вот пару примеров.

1. Замена точки на запятую:
Найти: (<[0-9]@).([0-9]@>)
Заменить: \1,\2
Подстановочные знаки: Да

2. Разделение целой части на разряды:
Найти: (<[0-9]@)([0-9]{3}>)
Заменить: \1 \2
Подстановочные знаки: Да
Повторить несколько раз.

Еще можно числа заменить полем "Формула".
Тогда формат чисел менять будет удобнее и проще. Например, если число 10000 заменить полем  { = 10000 \# "# ##0,00" }, то на экране будет 10 000,00. Замену чисел полями придется делать макросом. Зато впоследствии, для изменения формата всех чисел сразу, достаточно обычного поиска "# ##0,00" и замены, например, на "#0,0".

Макросы под заказ и готовый пакет - mtdmacro.ru

3

Re: Помогите с форматированием цифр и переноса данных

Вождь пишет:

2. Разделение целой части на разряды:
Найти: (<[0-9]@)([0-9]{3}>)
Заменить:  
Подстановочные знаки: Да

Имеет побочный эффект - оно побъет и дроби типа Х.ХХХХ на Х.Х ХХХ
как преодолеть - не знаю, сам как-то пытался понять работу с [!], но так до конца и не разобрался

Делай, что можешь, и будь, что будет!

4

Re: Помогите с форматированием цифр и переноса данных

Побочный эффект для вещественных чисел борем так:
Найти: (<[0-9]@)([0-9]{3}[^s.])
Заменить: \1^s\2
Подстановочные знаки: Да
Повторить замену пару раз.

Но лучше для всех этих дел написать макрос. Потому как, например, когда есть две ячейки таблицы с вещественным и целым числыма, то обычным поиском не отличить целое число от дробной части.

Макросы под заказ и готовый пакет - mtdmacro.ru

5

Re: Помогите с форматированием цифр и переноса данных

Ув. гос-да!

"Замена точки на запятую" и "Разделение целой части на разряды" сработали как нужно! Большое спасибо! Но есть одна проблема которую я не учел - при замене точки на запятные, заменяются точки в датах. Т.е. то, что должно выглядить как (10.12.10) становиться (10,12.10). Подскажите как можно это обойти?

И не совсем разобрался "Побочный эффект для вещественных чисел борем так:". МС ВОРД говорит "Word has finished searching document. The search item was not found"

6

Re: Помогите с форматированием цифр и переноса данных

bamerand пишет:

...то, что должно выглядить как (10.12.10) становиться (10,12.10)... как можно это обойти?

Это могут быть не только даты. Поэтому можно сделать обратную замену:
  Найти: (,)([0-9]@)(.) или (.)([0-9]@)(,)
  Заменить: \3\2\1
  Подстановочные знаки: Да

Вообще, в сложном тексте, надо проверять то что перед/после числа. Поиском такое не сделать, нужен макрос.

Разбивка на разряды.
Если есть дробная часть, то используйте:
  Найти: (<[0-9]@)([0-9]{3}[^s.])
  Заменить: \1^s\2
Если же нет:
  Найти: (<[0-9]@)([0-9]{3}>)
  Заменить: \1 \2
  Подстановочные знаки: Да
  Повторить несколько раз.

Макросы под заказ и готовый пакет - mtdmacro.ru