Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VSTO 2010 Excel NumberFormat формат валют, копирование заранее заданных форматов валют / 2 сообщений из 2, страница 1 из 1
23.09.2011, 21:50
    #37454463
Santa_RND
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VSTO 2010 Excel NumberFormat формат валют, копирование заранее заданных форматов валют
Здравствуйте, коллеги!

Задача простая:
Есть прайс-лист с различными листами (на каждом листе цены могут быть указаны в различных валютах; соответствующие ячейки содержат форматирование) необходимо написать кусок кода для копирования выбранных строк из различных листов прайс-листа и последующей вставки в новую книгу (подготовлен шаблон; формат ячеек, который будет отображать цену стоит по-умолчанию - "общий") с сохранением форматов чисел (цен) оригинального прайс-листа.

Псевдокод который не дает результатов:

Цикл по всем выбранным значениям прайс-листа
Worksheet_Шаблон.Cells(индекс строки, индекс столбца).NumberFormat = Worksheet_Прайс-лист.Cells(индекс строки, индекс столбца).NumberFormat;
Worksheet_Шаблон.Cells(индекс строки, индекс столбца).Value = Worksheet_Прайс-лист.Cells(индекс строки, индекс столбца).Value;

Не копируется формат!

Задача №2 - конвертация скопированных значений цены в различные валюты (обменный курс задается руками в ячейки). Нужно как-то определять в какой валюте скопированная цена.

Думаю, что задача очень распространенная, кто-то уже делал... Выложите кусочек кода, отвечающий за форматирование.

Помогите, пожалуйста.
...
Рейтинг: 0 / 0
24.09.2011, 22:02
    #37454873
EducatedFool
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
VSTO 2010 Excel NumberFormat формат валют, копирование заранее заданных форматов валют
Santa_RND, вы всё сильно усложняете.

Стандартный метод COPY, применяемый к объекту типа RANGE, копирует содержимое ячеек вместе с форматированием:

Всего делов-то:
Код: plaintext
Worksheet_Прайс-лист.Cells(индекс строки, индекс столбца).copy Worksheet_Шаблон.Cells(индекс строки, индекс столбца)
PS: Зачем по одной ячейке копировать, когда можно копировать строки или столбцы целиком? (как и диапазоны ячеек любого размера)


По вопросу 2: анализируете свойства NumberFormat и NumberFormatLocal
по ним определяете валюту.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / VSTO 2010 Excel NumberFormat формат валют, копирование заранее заданных форматов валют / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]