Гость
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel 2007 - формат чисел для tsv / 8 сообщений из 8, страница 1 из 1
28.05.2015, 12:34
    #38970621
Гость3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2007 - формат чисел для tsv
Я часто открываю tsv-файлы для просмотра в Excel. У меня проблема, омрачающая существование: открываешь tsv-файл и Excel пытается умничать, переводя длинные числа в форму вроде 1.19E+12.

Приходится перевыставлять формат ячеек, но при открытии нового документа формат приходится снова менять.

Формат нужен именно числовой (с нулём и двумя знаками после запятой, чтобы производилось автосуммирование), поэтому трансформация в строку не спасёт.

Данная проблема много где обсуждена, но решения лучше "открывай файл и меняй каждый раз формат вручную" пока не встретилось.

Как жить с этим? Хоть свой просмотрщик пиши вместо excel :-)

В Excel есть меню с предопределёнными стилями ячеек (обычный-нейтральный-плохой-хороший...). Можно ли туда добавить свои так, чтобы они для нового документа видны были?
Может, что-то подобное normal.dot есть?
...
Рейтинг: 0 / 0
28.05.2015, 14:31
    #38970827
Гость3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2007 - формат чисел для tsv
Может, надстройку какую можно сделать, но я пока не соображу как.

Надстройку было бы неплохо: можно было бы логику [если в знaчениях столбца (за исключением первой строки) встречаются только цифры и разделители, тогда установить числовой формат: если встречается точка (десятичный разделитель) - установить формат 0.00 (жёстко два знака после запятой), иначе просто 0 (просто целое число)]
...
Рейтинг: 0 / 0
28.05.2015, 14:55
    #38970869
An12
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2007 - формат чисел для tsv
в CSV эти числа хранить в кавычках ...;"1300000000000000";...
...
Рейтинг: 0 / 0
28.05.2015, 16:17
    #38971002
Гость3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2007 - формат чисел для tsv
авторв CSV эти числа хранить в кавычках ...;"1300000000000000";...Они так и хранятся, только разделители - табуляции.
...
Рейтинг: 0 / 0
28.05.2015, 16:57
    #38971048
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2007 - формат чисел для tsv
Открывай не двбл-кликом, а импортом из текста на чистый лист. В процессе импорта укажешь все нужные тебе параметры, чтобы сразу получить то, что надо.
А если запишешь это всё макрорекордером, подрихтуешь и кинешь на кнопку - вообще горя знать не будешь.
...
Рейтинг: 0 / 0
29.05.2015, 12:52
    #38971743
Гость3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2007 - формат чисел для tsv
AkinaОткрывай не дабл-кликом..."дабл-клик и поправить неправильные столбцы" удобнее получается.

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

С макросом проблема: если писать макрос - он, разумеется, не сохраняется в .tsv и каждый раз приходится писать его заново.
Как сделать макрос, который бы выполнялся для вновь открытого .tsv (для всяких .xlsx не надо)?
Как хотя бы сделать кнопку, которая бы сохранялась между открытиями файлов?
...
Рейтинг: 0 / 0
29.05.2015, 13:51
    #38971826
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2007 - формат чисел для tsv
Гость3Как хотя бы сделать кнопку, которая бы сохранялась между открытиями файлов?
Самый простой для тебя вариант имхо такой.
Записать указанный макрос.
Подрихтовать его - например, добавить диалог для выбора файла вместо жёсткого задания имени. Проверить, что макрос корректно работает при запуске через меню "Макросы" ленты "Разработчик". Если есть желание - можно назначить ему горячую клавишу и проверить, что срабатывает правильно. Переименовать, дав ему вменяемое и понятное имя.
Удалить все листы, кроме одного. Удалить с листа все данные.
Сохранить полученный файл в папку %USERPROFILE%\AppData\Roaming\Microsoft\Excel\XLSTART , имя неважно, но рекомендую чистый 8.3 А-набора.
Всё. Теперь этот макрос будет доступен из любой книги, открытой на этом компе в этом профиле. Конечно, при условии, что макросы не запрещены.
Если надо, можно (но я бы не рекомендовал - разве что в папку автостарта Excel, чтобы работало для любого пользователя на этом АРМ) использовать другие места для сохранения файла, см. "Надёжные расположения" центра управления безопасностью.
...
Рейтинг: 0 / 0
29.05.2015, 22:38
    #38972214
Казанский
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel 2007 - формат чисел для tsv
Гость3Надстройку было бы неплохо: можно было бы логику [если в знaчениях столбца (за исключением первой строки) встречаются только цифры и разделители, тогда установить числовой формат: если встречается точка (десятичный разделитель) - установить формат 0.00 (жёстко два знака после запятой), иначе просто 0 (просто целое число)]Эту процедуру можно разместить в "личной книге макросов" PERSONAL.XLSB. Если у Вас еще нет этой книги, создайте ее: начните запись макроса, Сохранить в: Личная книга макросов, ОК. Можете сразу остановить запись - книга уже создана. Alt+F11, VBA Project (PERSONAL.XLSB) - Microsoft Excel Objects - ЭтаКнига (или ThisWorkbook), вставьте код
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Option Explicit

Dim WithEvents app As Application

Private Sub app_WorkbookOpen(ByVal Wb As Workbook)
  If LCase$(Right$(Wb.Name, 4)) = ".tsv" Then
    Wb.Worksheets(1).Cells.NumberFormat = "0"
  End If
End Sub

Private Sub Workbook_Open()
  Set app = Application
End Sub

Чтобы попробовать немедленно, запустите Private Sub Workbook_Open() прямо из редактора, потом в Excel откройте файл.
Я не понял, то ли Вы хотите индивидуально каждой ячейке назначить формат, то ли единый формат для целого столбца. Пока назначается формат "0" всем ячейкам.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel 2007 - формат чисел для tsv / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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