Добрый день !!! Нужна Ваша помощь После того как у нас установили 1С, при создании отчётов из неё, файлы Эксель меняют названия столбцов с A,B,C… на 1,2,3…
Как с этим бороться?
Заранее спасибо
Добрый день !!! Нужна Ваша помощь После того как у нас установили 1С, при создании отчётов из неё, файлы Эксель меняют названия столбцов с A,B,C… на 1,2,3…
Здравствуйте. Gfdi, стиль ссылок меняется так: в 2010 Excel: Меню Файл - Параметры - Формулы - снять галку с Стиль ссылок R1C1 в 2007 Excel: Кнопка Офис - Параметры - Формулы - снять галку с Стиль ссылок R1C1 в 2003 Excel и ранее: Сервис - Параметры - Общие - снять галку с Стиль ссылок R1C1.
Здравствуйте. Gfdi, стиль ссылок меняется так: в 2010 Excel: Меню Файл - Параметры - Формулы - снять галку с Стиль ссылок R1C1 в 2007 Excel: Кнопка Офис - Параметры - Формулы - снять галку с Стиль ссылок R1C1 в 2003 Excel и ранее: Сервис - Параметры - Общие - снять галку с Стиль ссылок R1C1.Serge_007
Как сделать что бы автоматически выставлялся стиль ссылок?
Ну, совсем автоматически только макросом, сохранённом в Personal, который будет проверять открываемые файлы на соответствие необходимому стилю ссылок и изменять его по надобности. Я пошел другим путём: в Personal поместил коды: [vba]
Code
Sub StyleRC() ' Сочетание клавиш: Ctrl+w Application.ReferenceStyle = xlR1C1 End Sub Sub StyleA1() ' Сочетание клавиш: Ctrl+q Application.ReferenceStyle = xlA1 End Sub
[/vba]
Теперь переключение занимает долю секунды с помощью хоткеев Ctrl+w, Ctrl+q и работает естественно в любом файле.
Quote (Gfdi)
Как сделать что бы автоматически выставлялся стиль ссылок?
Ну, совсем автоматически только макросом, сохранённом в Personal, который будет проверять открываемые файлы на соответствие необходимому стилю ссылок и изменять его по надобности. Я пошел другим путём: в Personal поместил коды: [vba]
Code
Sub StyleRC() ' Сочетание клавиш: Ctrl+w Application.ReferenceStyle = xlR1C1 End Sub Sub StyleA1() ' Сочетание клавиш: Ctrl+q Application.ReferenceStyle = xlA1 End Sub
[/vba]
Теперь переключение занимает долю секунды с помощью хоткеев Ctrl+w, Ctrl+q и работает естественно в любом файле.Serge_007
Private Sub Workbook_Open() Application.ReferenceStyle = xlA1 End Sub
[/vba]
Игорь, так всегда А1 будет. Gfdi, я думаю это и нужно, это вопрос от меня: Можно сделать выбор юзера при открытии файла? Если стиль А1 - то ничего не происходит, а если R1C1 - то МсгБокс какой-нибудь с выбором стиля?
Quote (Hugo)
В PERSONAL.XLS: [vba]
Code
Private Sub Workbook_Open() Application.ReferenceStyle = xlA1 End Sub
[/vba]
Игорь, так всегда А1 будет. Gfdi, я думаю это и нужно, это вопрос от меня: Можно сделать выбор юзера при открытии файла? Если стиль А1 - то ничего не происходит, а если R1C1 - то МсгБокс какой-нибудь с выбором стиля?Serge_007
Ну да, так оно и задумано - при открытии Экселя стиль ссылок устанавливается xlA1. Но если вручную в любом файле выставить другое - такой стиль будет, пока Эксель не закроется. Я не знаю (пробовал экспериментировать, но не подвердилось), но возможно при открытии таких файлов как следующих, стиль ссылок может измениться. Я столкнулся с тем, что с некоторыми файлами, как зараза, переносится настройка Application.ShowWindowsInTaskbar = False. Когда я устал вручную её менять на привычную, записал в Workbook_Open() такую строку Application.ShowWindowsInTaskbar = True Пока прививка работает.
А вот насчёт выбора - я не знаю, на какое событие запускать код (который тоже пока не сочинял)...
Ну да, так оно и задумано - при открытии Экселя стиль ссылок устанавливается xlA1. Но если вручную в любом файле выставить другое - такой стиль будет, пока Эксель не закроется. Я не знаю (пробовал экспериментировать, но не подвердилось), но возможно при открытии таких файлов как следующих, стиль ссылок может измениться. Я столкнулся с тем, что с некоторыми файлами, как зараза, переносится настройка Application.ShowWindowsInTaskbar = False. Когда я устал вручную её менять на привычную, записал в Workbook_Open() такую строку Application.ShowWindowsInTaskbar = True Пока прививка работает.
А вот насчёт выбора - я не знаю, на какое событие запускать код (который тоже пока не сочинял)...
только до этого Workbook_Open доступа-то нет... Тот, что в персонале, работает при открытии именно персонала.
Можно влезу? Я у себя описывал как отслеживать события других книг из надстройки или PERSONAL.XLS. Вот ссылочка
А менять стиль ссылок лично я предпочитаю таким макросом: [vba]
Code
Private Sub Replace_ReferenceStyle() If lCountWorkbooks = 0 Then Exit Sub If Application.ReferenceStyle = xlA1 Then Application.ReferenceStyle = xlR1C1 Else Application.ReferenceStyle = xlA1 End If End Sub
[/vba]
Если А1 - меняет на R1C1 и наоборот. lCountWorkbooks - функция, проверяющая наличие открытых видимых книг. Т.к. если ни одна книга не открыта макрос выдаст ошибку.
Quote (Hugo)
только до этого Workbook_Open доступа-то нет... Тот, что в персонале, работает при открытии именно персонала.
Можно влезу? Я у себя описывал как отслеживать события других книг из надстройки или PERSONAL.XLS. Вот ссылочка
А менять стиль ссылок лично я предпочитаю таким макросом: [vba]
Code
Private Sub Replace_ReferenceStyle() If lCountWorkbooks = 0 Then Exit Sub If Application.ReferenceStyle = xlA1 Then Application.ReferenceStyle = xlR1C1 Else Application.ReferenceStyle = xlA1 End If End Sub
[/vba]
Если А1 - меняет на R1C1 и наоборот. lCountWorkbooks - функция, проверяющая наличие открытых видимых книг. Т.к. если ни одна книга не открыта макрос выдаст ошибку.The_Prist
Errare humanum est, stultum est in errore perseverare
Сообщение отредактировал The_Prist - Понедельник, 06.09.2010, 18:19
Можно сделать выбор юзера при открытии файла? Если стиль А1 - то ничего не происходит, а если R1C1 - то МсгБокс какой-нибудь с выбором стиля?
Конечно можно. Главное, чтобы макросы были включены и был список этих самых пользователей(а то откуда выбирать-то?). Msgbox вообще проще простого: [vba]
Code
Private WithEvents App As Application
Private Sub Workbook_Open() Set App = Application End Sub
Private Sub App_WorkbookOpen(ByVal Wb As Workbook) If Application.ReferenceStyle = xlR1C1 Then If MsgBox("На данный момент стиль ссылок R1C1. Изменить на A1?", vbInformation + vbYesNo, "Запрос действия") = vbNo Then Exit Sub Application.ReferenceStyle = xlA1 End If End Sub
[/vba] Весь код необходимо поместить в модуль ЭтаКнига(ThisWorkbook).
Quote (Serge_007)
Можно сделать выбор юзера при открытии файла? Если стиль А1 - то ничего не происходит, а если R1C1 - то МсгБокс какой-нибудь с выбором стиля?
Конечно можно. Главное, чтобы макросы были включены и был список этих самых пользователей(а то откуда выбирать-то?). Msgbox вообще проще простого: [vba]
Code
Private WithEvents App As Application
Private Sub Workbook_Open() Set App = Application End Sub
Private Sub App_WorkbookOpen(ByVal Wb As Workbook) If Application.ReferenceStyle = xlR1C1 Then If MsgBox("На данный момент стиль ссылок R1C1. Изменить на A1?", vbInformation + vbYesNo, "Запрос действия") = vbNo Then Exit Sub Application.ReferenceStyle = xlA1 End If End Sub
[/vba] Весь код необходимо поместить в модуль ЭтаКнига(ThisWorkbook).The_Prist
Errare humanum est, stultum est in errore perseverare
Сообщение отредактировал The_Prist - Понедельник, 06.09.2010, 20:56
Gfdi, говорите, если просто сообщения #5 недостаточно.
Извините, что долго не отвечала, работы много . Спасибо за ответы! Hugo, если не сложно, напишите такой макрос (с возможностью выбора стиля), это очень удобно! Заранее спасибо!!!
Quote
Gfdi, говорите, если просто сообщения #5 недостаточно.
Извините, что долго не отвечала, работы много . Спасибо за ответы! Hugo, если не сложно, напишите такой макрос (с возможностью выбора стиля), это очень удобно! Заранее спасибо!!!Gfdi
Вообще этот код немного иначе работает - он не смотрит, какой файл открывается. Он в момент открытия файла смотрит, какие установки Экселя в этот момент. Т.е. от открываемого файла ничего не зависит.
Вообще этот код немного иначе работает - он не смотрит, какой файл открывается. Он в момент открытия файла смотрит, какие установки Экселя в этот момент. Т.е. от открываемого файла ничего не зависит.Hugo