Имя: Пароль:
IT
 
Фокус с екселем, как это так сделано
0 sda553
 
21.03.12
15:09
Видел своими глазами:
Есть csv файл вот такой
8711600914773,10.000,ZSU,6745.50,RUB,1214.19,RUB
8711600919812,12.000,ZSU,5864.00,RUB,1112.11,RUB

Пользователь загружает его в екселе простым двойным кликом, без всяких хитростей, сохраняет его в csv и файл остается таким же как и был!

Разделитель списка используется ","

Как это сделано? Я то же хочу, чтобы ексель так работал!
1 PR
 
21.03.12
15:11
И чо?
2 lxs
 
21.03.12
15:11
епт, ассоциируй расширение с excel.
3 Ёпрст
 
21.03.12
15:13
п..ц
Открой файло офисом (новые версии уже сами ассоциированы с этим разрешением)
и всё
4 le_
 
21.03.12
15:13
(0) У меня excel так же работает без всяких предварительных манипуляций.
5 acsent
 
21.03.12
15:15
там есть галочка спрашивать настройки или нет
6 sda553
 
21.03.12
15:15
Блин, неужели вас не удивил 8711600919812
У всех простых смертных(включая)он превращается после такой операции в 8.7116E+12

Но тут нет, вот и пытаюсь разгадать в чем фокус
7 Ёпрст
 
21.03.12
15:18
(6) офис у тебя поди 95 ?
8 Ёпрст
 
21.03.12
15:18
если че, в 2007 и в 2010 это не так.
9 sda553
 
21.03.12
15:19
(6) Просто если такое возможно как то настроить, то у меня сразу куча вещей упрощаются, ибо тошнит уже от проблем с csv файлами
10 sda553
 
21.03.12
15:19
(8) Проверено на 2007
Вы хотя бы проверяли прежде чем писать?
11 mzelensky
 
21.03.12
15:20
(6) а разве это не настройка формата числа?
12 Ёпрст
 
21.03.12
15:20
(10) да, на 2010
13 Ёпрст
 
21.03.12
15:20
можешь записать меня в фокусники
14 sda553
 
21.03.12
15:21
(11) Так в том то и проблема что csv формат числа не сохраняет и как такой фокус проделать - непонятно
15 sda553
 
21.03.12
15:22
(13) Фокусником ты станешь, когда расскажешь как ты это включил/выключил и как это включить/выключить
16 Ёпрст
 
21.03.12
15:25
(15) установил офис, открыл файло
Наслаждайся
17 lxs
 
21.03.12
15:26
открыл. никаких преобразований.. в одной ячейке вся строка.
18 lxs
 
21.03.12
15:26
+(17) 2010
19 Ёпрст
 
21.03.12
15:26
(17) такая же фигня

:)
20 lxs
 
21.03.12
15:27
по-моему, автор тупит
21 lxs
 
21.03.12
15:28
У тебя же содержимое не раскидывается по отдельным колонкам, а все одной строкой. Поэтому не может быть никаких преобразований.

Вот если ты сделаешь через импорт данных, тогда получишь свое преобразование.
22 DailyLookingOn Sunset
 
21.03.12
15:29
(16),(17)
В региональных настройках нужно поставить разделитель списка ",".
А вы строку загружаете, ее же и сохраняете. Само собой, строка не меняется.
23 sda553
 
21.03.12
15:29
(21) Лично у меня оно раскидывается по колонкам, я же сказал что используются региональные настройки с разделителем списка ","
24 sda553
 
21.03.12
15:38
Сейчас еще раз сходил к "фокуснику" у него разбивается автоматом по колонкам, но ЗАМЕТИЛ кое что. У него появляется в этой колонке number stored as text  предупреждение, но как он этого добился? Я то же хочу чтобы при открыти csv было number stored as text на всех числах
25 lxs
 
21.03.12
15:49
Есть такая кнопка "Текст по столбцам".. нажми.. много нового узнаешь..
26 sda553
 
21.03.12
16:07
(25) Ты не понимаешь о чем идет речь, смотри (23)
27 Torquader
 
21.03.12
20:03
Вообще-то,в Excel есть событие открытия файла-у меня файлы с двоичными данными по нему раскрываются даже на несколько листов-и никто про фокусы не вспоминает.
28 bizon2008
 
21.03.12
20:11
(24)Да макрос у него стоит. Есть такой. Название не помню. Аналитики его очень любили.
29 sda553
 
22.03.12
07:49
(27) (28) Я то же об этом думал, но тут csv файл, в нем макросы не могут быть зашиты
30 vde69
 
22.03.12
08:13
(29) открою страшный секрет, макросы бывают глобальными
31 sda553
 
22.03.12
10:00
(30) Блин, а вот это действительно похоже на секрет фокуса, спасибо. Сейчас попробую воспроизвести
32 sda553
 
22.03.12
11:01
(30),(31) Все отлично, фокус удалось воспроизвести! Теперь моя душа спокойна и я уже вижу применение в сотне мест!
33 bizon2008
 
22.03.12
11:58
Ну так сюда напиши решение.
34 sda553
 
22.03.12
12:13
Да вроде уже все понятно, сдаелал Add In к екселю с текстом в модуле workbook
Option Explicit

Public WithEvents App As Application

Private Sub App_WorkbookOpen(ByVal Wb As Workbook)
   Dim ws As Worksheet
   Dim i, j As Variant
   If Right(Wb.Name, 3) = "csv" Then
       'MsgBox "WB Opened: " & Wb.Name ' Just to follow
       For Each ws In Wb.Worksheets
           
           For i = 1 To ws.UsedRange.Columns.Count
               If ws.Cells(1, i) = "EAN/UPC" Then
                   For j = 2 To ws.UsedRange.Rows.Count
                       ws.Cells(j, i).Formula = "=""" & ws.Cells(j, i).Value & """"
                   Next j
               End If
           
           Next i
       Next ws
   End If
End Sub


Private Sub Workbook_Open()
   Set App = Application
End Sub

Название колонки "EAN/UPC" упомянутый, в котором это злосчастное число
Ну установил этот Add-in в Excel 2007
И собственно все. Теперь спокойно открываю этот csv файл. при открытии запускается эта функция и подменяет в колонке с названием "EAN/UPC" значение
878569425658 на формулу ="878569425658"
внешне это никак не проявляется, при сохранении обратно в csv файл остается таким как был
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.