Как выбрать точку разделителем десятичных разрядов только для данной книги?

Автор Олег*, 14.01.2012, 15:07

« назад - далее »

Олег*

Добрый день!

Подскажите, пожалуйста, как в русифицированном Экселе 2010 можно выбрать точку разделителем десятичных разрядов ТОЛЬКО ДЛЯ ДАНОЙ КНИГИ?

Как сделать это глобально я знаю, а вот как для конкретной книги найти не смог.


Или это вообще невозможно?
Муж это единственный зарегенный юзер, а все остальные это хакеры :)

kuklp

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    With Application
        .DecimalSeparator = ","
        .UseSystemSeparators = -1
    End With
End Sub

Private Sub Workbook_Open()
    With Application
        .DecimalSeparator = "."
        .UseSystemSeparators = 0
    End With
End Sub

А еще на activate deactivate такое же.
Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771

Олег*

Цитата: KuklP от 14.01.2012, 15:35
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    With Application
        .DecimalSeparator = ","
        .UseSystemSeparators = -1
    End With
End Sub

Private Sub Workbook_Open()
    With Application
        .DecimalSeparator = "."
        .UseSystemSeparators = 0
    End With
End Sub


На самом деле, я так и думал, что без макросов здесь не обойтись. Спасибо, что написали код (готовый "рецепт") целиком, а то сейчас, честно говоря, особо вникать во все тонкости не хотелось бы. Замысел довольно большой и особо разбрасываться сейчас было бы неправильно, а то "энтузиазма" :) на всё не хватит, забуду ради чего всю кашу заваривал :)

Одним словом, самый оптимальный способ - это переключаться в момент отработки событий открытия и зарытия книги? Тогда ещё несколько сопутствующих вопросов, если позволите.

1. Этот метод будет влиять на все открытые в данный момент книги Экселя или только на ту, в которой мы "поймали" это событие? Иными словами, во всех открытых в данный момент книгах изменится разделитель или нет?
2. Если приложение закроется аварийно, настройки самостоятельно назад не вернутся? Для всего Экселя на данном компьютере или только для данной книги?

Цитата: KuklP от 14.01.2012, 15:35
А еще на activate deactivate такое же.

В смысле, когда пользователь активирует окно данной книги?
Муж это единственный зарегенный юзер, а все остальные это хакеры :)

kuklp

ЦитироватьВ смысле, когда пользователь активирует окно данной книги?
Да, Олег. Это и ответ на п.1. Т.е. если мы пропишем это в  activate deactivate, будет менять сепаратор только в той книге, из которой запускается.
Я, как всегда, чертовски адекватен... Email: pilipnikop@yandex.ua WM Z206653985942, R334086032478, U238399322728, E332314026771

Олег*

Цитата: KuklP от 14.01.2012, 19:12
ЦитироватьВ смысле, когда пользователь активирует окно данной книги?
Да, Олег. Это и ответ на п.1. Т.е. если мы пропишем это в  activate deactivate, будет менять сепаратор только в той книге, из которой запускается.

Большое спасибо разъяснения! На этом варианте и остановлю свой выбор.
Муж это единственный зарегенный юзер, а все остальные это хакеры :)