Сохранение данных листа в бинарный файл
Riniy
Дата: Четверг, 07.12.2017, 13:33 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Здравствуйте! Мне нужно макросом сохранить данные неактивного листа "Лист1" в бинарный файл. Содержимое листа в ячейках А1:А2 примерно следующее: :0800640040800FDFFF10006F01 :00000001FF Пробовал таким способом, но он сохраняет в тексте [vba]Код
p = ActiveWorkbook.Path Sheets("Лист1").Copy Application.DisplayAlerts = False ActiveWorkbook.SaveAs filename:=p & "\data.hex", FileFormat:=42 ActiveWindow.Close True
[/vba]
Здравствуйте! Мне нужно макросом сохранить данные неактивного листа "Лист1" в бинарный файл. Содержимое листа в ячейках А1:А2 примерно следующее: :0800640040800FDFFF10006F01 :00000001FF Пробовал таким способом, но он сохраняет в тексте [vba]Код
p = ActiveWorkbook.Path Sheets("Лист1").Copy Application.DisplayAlerts = False ActiveWorkbook.SaveAs filename:=p & "\data.hex", FileFormat:=42 ActiveWindow.Close True
[/vba] Riniy
Сообщение отредактировал Riniy - Четверг, 07.12.2017, 13:59
Ответить
Сообщение Здравствуйте! Мне нужно макросом сохранить данные неактивного листа "Лист1" в бинарный файл. Содержимое листа в ячейках А1:А2 примерно следующее: :0800640040800FDFFF10006F01 :00000001FF Пробовал таким способом, но он сохраняет в тексте [vba]Код
p = ActiveWorkbook.Path Sheets("Лист1").Copy Application.DisplayAlerts = False ActiveWorkbook.SaveAs filename:=p & "\data.hex", FileFormat:=42 ActiveWindow.Close True
[/vba] Автор - Riniy Дата добавления - 07.12.2017 в 13:33
SLAVICK
Дата: Четверг, 07.12.2017, 13:53 |
Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация:
766
±
Замечаний:
0% ±
2019
Может потому, что:Цитата
Const xlUnicodeText = 42 (&H2A) Member of Excel.XlFileFormat
Вы бы примеры положили - что есть, и что нужно на выходе(два файла) - может кто и поможет.
Может потому, что:Цитата
Const xlUnicodeText = 42 (&H2A) Member of Excel.XlFileFormat
Вы бы примеры положили - что есть, и что нужно на выходе(два файла) - может кто и поможет.SLAVICK
Иногда все проще чем кажется с первого взгляда.
Ответить
Сообщение Может потому, что:Цитата
Const xlUnicodeText = 42 (&H2A) Member of Excel.XlFileFormat
Вы бы примеры положили - что есть, и что нужно на выходе(два файла) - может кто и поможет.Автор - SLAVICK Дата добавления - 07.12.2017 в 13:53
Riniy
Дата: Четверг, 07.12.2017, 14:01 |
Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Приложил файлы к теме. Это я знаю, что формат указан текст, но как сделать в бинарном виде?
Приложил файлы к теме. Это я знаю, что формат указан текст, но как сделать в бинарном виде? Riniy
Ответить
Сообщение Приложил файлы к теме. Это я знаю, что формат указан текст, но как сделать в бинарном виде? Автор - Riniy Дата добавления - 07.12.2017 в 14:01
Riniy
Дата: Четверг, 07.12.2017, 14:37 |
Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
Всем спасибо! Методом подбора нашел то что нужно. [vba]Код
FileFormat:=xlTextMSDOS
[/vba]
Всем спасибо! Методом подбора нашел то что нужно. [vba]Код
FileFormat:=xlTextMSDOS
[/vba] Riniy
Ответить
Сообщение Всем спасибо! Методом подбора нашел то что нужно. [vba]Код
FileFormat:=xlTextMSDOS
[/vba] Автор - Riniy Дата добавления - 07.12.2017 в 14:37
Gustav
Дата: Четверг, 07.12.2017, 15:16 |
Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2731
Репутация:
1132
±
Замечаний:
0% ±
начинал с Excel 4.0, видел 2.1
Это бинарный файл? Хм... мне-то показалось, что Вы хотите получить нечто следующее (на примере первой строки): [vba]Код
Sub toBinary() Dim b(1 To 13) As Byte ':0800640040800FDFFF10006F01 - 13 пар символов b(1) = CByte("&H" & "08") b(2) = CByte("&H" & "00") b(3) = CByte("&H" & "64") b(4) = CByte("&H" & "00") b(5) = CByte("&H" & "40") b(6) = CByte("&H" & "80") b(7) = CByte("&H" & "0F") b(8) = CByte("&H" & "DF") b(9) = CByte("&H" & "FF") b(10) = CByte("&H" & "10") b(11) = CByte("&H" & "00") b(12) = CByte("&H" & "6F") b(13) = CByte("&H" & "01") Open "C:\newBinary.hex" For Binary As #1 Put 1, , b End Sub
[/vba]
Это бинарный файл? Хм... мне-то показалось, что Вы хотите получить нечто следующее (на примере первой строки): [vba]Код
Sub toBinary() Dim b(1 To 13) As Byte ':0800640040800FDFFF10006F01 - 13 пар символов b(1) = CByte("&H" & "08") b(2) = CByte("&H" & "00") b(3) = CByte("&H" & "64") b(4) = CByte("&H" & "00") b(5) = CByte("&H" & "40") b(6) = CByte("&H" & "80") b(7) = CByte("&H" & "0F") b(8) = CByte("&H" & "DF") b(9) = CByte("&H" & "FF") b(10) = CByte("&H" & "10") b(11) = CByte("&H" & "00") b(12) = CByte("&H" & "6F") b(13) = CByte("&H" & "01") Open "C:\newBinary.hex" For Binary As #1 Put 1, , b End Sub
[/vba]Gustav
МОИ: Ник , Tip box: 41001663842605
Ответить
Сообщение Это бинарный файл? Хм... мне-то показалось, что Вы хотите получить нечто следующее (на примере первой строки): [vba]Код
Sub toBinary() Dim b(1 To 13) As Byte ':0800640040800FDFFF10006F01 - 13 пар символов b(1) = CByte("&H" & "08") b(2) = CByte("&H" & "00") b(3) = CByte("&H" & "64") b(4) = CByte("&H" & "00") b(5) = CByte("&H" & "40") b(6) = CByte("&H" & "80") b(7) = CByte("&H" & "0F") b(8) = CByte("&H" & "DF") b(9) = CByte("&H" & "FF") b(10) = CByte("&H" & "10") b(11) = CByte("&H" & "00") b(12) = CByte("&H" & "6F") b(13) = CByte("&H" & "01") Open "C:\newBinary.hex" For Binary As #1 Put 1, , b End Sub
[/vba]Автор - Gustav Дата добавления - 07.12.2017 в 15:16
Riniy
Дата: Четверг, 07.12.2017, 15:33 |
Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация:
0
±
Замечаний:
0% ±
Excel 2007
xlTextMSDOS это не бинарный файл. Но он меня устраивает, т.к. не вносит в файл никаких лишних, служебных байтов, просто сохраняет как есть. Формат чисел на листе уже собран в шестнадцатеричном формате, просто его надо было правильно сохранить. В первой строке массив может быть больше. Вторая фиксированная (признак конца файла)Gustav , Спасибо за подсказку, пригодится, если буду собирать *.bin файл
xlTextMSDOS это не бинарный файл. Но он меня устраивает, т.к. не вносит в файл никаких лишних, служебных байтов, просто сохраняет как есть. Формат чисел на листе уже собран в шестнадцатеричном формате, просто его надо было правильно сохранить. В первой строке массив может быть больше. Вторая фиксированная (признак конца файла)Gustav , Спасибо за подсказку, пригодится, если буду собирать *.bin файл Riniy
Ответить
Сообщение xlTextMSDOS это не бинарный файл. Но он меня устраивает, т.к. не вносит в файл никаких лишних, служебных байтов, просто сохраняет как есть. Формат чисел на листе уже собран в шестнадцатеричном формате, просто его надо было правильно сохранить. В первой строке массив может быть больше. Вторая фиксированная (признак конца файла)Gustav , Спасибо за подсказку, пригодится, если буду собирать *.bin файл Автор - Riniy Дата добавления - 07.12.2017 в 15:33