Страницы: 1
RSS
Определить стандартный шрифт для файла
 
Знатоки, подскажите пожалуйста как можно определить стандартный шрифт, установленный для конткретного файла (не для всего приложения - Excel)?  
Вопрос связан со следующей проблемой:    
есть файл, в котором стандартный шрифт установлен Arial (по крайней мере в самом файле и новые листы создаются с Arial), но для Excel на компе установлен как стандартный Times New ...  
Из-за этого при копировании данных (специальная вставка\форматы) из файла с Arial в новый создаваемый файл (с Times) у бОлльшей части столбцов получается другая ширина и соответственно "разъезжается" интерфейс.    
Поиск в свойства Workbooks результатов не дал (может не соображу где смотреть).  
 
Всем не равнодушным заранее спасибо.
 
Не пробовали записать смену фонта рекордером?  
 
   With Application  
       .StandardFont = "Arial"  
       .StandardFontSize = "10"  
   End With
 
Извините, не то... Так много текста, что начало уже и забыл :)
 
Может как-то так?  
 
MsgBox Cells(Rows.Count, Columns.Count).Font.Name  
 
Вряд ли кто полезет туда шрифт менять...
 
Ну так и установите для Excel на компе стандартным Arial
 
"MsgBox Cells(Rows.Count, Columns.Count).Font.Name"  
 
- это в надежде что самую крайнюю ячейку не переформатировали :), а хочется наверняка.  
 
"Ну так и установите для Excel на компе стандартным Arial"  
 
- этот вариант тоже не подойдет, т.к. мне то будут приходить файлы с другиъх компов, на которых какой угодно шрифт может быть установлен.  
 
Раз новый лист в файле создается со своим (отличным от Excel) шрифтом, значит этот параметр где то сидит, но вот где?
 
Ну а если и сидит, а лист переформатировали - что даст Вам этот параметр?
 
Да, протестировал этот случай - не подходит (для листа с единственным шрифтом на весь лист всё таки нашёл Workbooks(X).sheets(Y).cells.font.name)  
 
Да и проблема вроде не в этом оказалась.  
В одном файле шиирна столбца 8,43 (64 пикселя), а в другом 9,83 (64 пикселя) - МИСТИКА какая то. Как это может быть?
 
Нашел таки причину:  
при копировании сразу всего листа (Cells.Copy) ширина столбцов "съезжает", а при выделении столбцов например - всё ок.  
 
Спасибо не равнодушным. Тема закрыта
Страницы: 1
Читают тему
Наверх