Нужна помощь, как сделать кнопку для сохранения диапазона ячеек (a1:b49) в текстовый файл, но с расширением не *.txt , а *.nc . Если есть возможность, детально, так как я полный чайник. Вот нашёл подробную инструкцию на стороннем ресурсе (http://bestpog.ru/forum/viewtopic.php?f=39&t=126), но немного не то что нужно (просто копирует диапазон в буфер). Если можно по аналогии. Всем откликнувшимся заранее СПАСИБО !
Нужна помощь, как сделать кнопку для сохранения диапазона ячеек (a1:b49) в текстовый файл, но с расширением не *.txt , а *.nc . Если есть возможность, детально, так как я полный чайник. Вот нашёл подробную инструкцию на стороннем ресурсе (http://bestpog.ru/forum/viewtopic.php?f=39&t=126), но немного не то что нужно (просто копирует диапазон в буфер). Если можно по аналогии. Всем откликнувшимся заранее СПАСИБО ! Rapiy
Не, все конечно здорова, но мне кажется здесь много лишнего:
[vba]
Код
Sub example_02() Dim x, y(), i&, j&, s$ x = ActiveSheet.UsedRange.Value If IsArray(x) Then ReDim y(1 To UBound(x)) For i = 1 To UBound(x) For j = 1 To UBound(x, 2) y(i) = y(i) & vbTab & x(i, j) Next j Next i: s = Join(y, vbCrLf) Else s = x End If With CreateObject("scripting.filesystemobject") With .CreateTextFile(ThisWorkbook.Path & "\sheet44.txt", True) .Write s: .Close End With End With MsgBox "Ok", 64 End Sub
[/vba]
И не ясно куда вносить расширение файла (*.nc) и где указывать диапазон ячеек .... Не понимаю кода команд скрипта. [moder]Оформите код тегами (кнопка #)![/moder]
Не, все конечно здорова, но мне кажется здесь много лишнего:
[vba]
Код
Sub example_02() Dim x, y(), i&, j&, s$ x = ActiveSheet.UsedRange.Value If IsArray(x) Then ReDim y(1 To UBound(x)) For i = 1 To UBound(x) For j = 1 To UBound(x, 2) y(i) = y(i) & vbTab & x(i, j) Next j Next i: s = Join(y, vbCrLf) Else s = x End If With CreateObject("scripting.filesystemobject") With .CreateTextFile(ThisWorkbook.Path & "\sheet44.txt", True) .Write s: .Close End With End With MsgBox "Ok", 64 End Sub
[/vba]
И не ясно куда вносить расширение файла (*.nc) и где указывать диапазон ячеек .... Не понимаю кода команд скрипта. [moder]Оформите код тегами (кнопка #)![/moder]Rapiy
Сообщение отредактировал Rapiy - Понедельник, 26.10.2015, 12:48
Читайте правила форума. Нам пример за Вас рисовать? Был общий вопрос - дан общий ответ. Конкретный ответ при наличии файла - примера. Или Вам показать ответ в картинке, также как Вы вопрос задали
Читайте правила форума. Нам пример за Вас рисовать? Был общий вопрос - дан общий ответ. Конкретный ответ при наличии файла - примера. Или Вам показать ответ в картинке, также как Вы вопрос задали SLAVICK
Иногда все проще чем кажется с первого взгляда.
Сообщение отредактировал SLAVICK - Понедельник, 26.10.2015, 13:53
Private Sub CommandButton1_Click() Call example_02 End Sub
[/vba]
Сохраняет в папку где сам файл excel, но думаю это можно подправить указав путь, там же где и название файла. Хотелось бы получать при нажатии на кнопку окно с диалогом сохранения где можно прописать имя файла. Не совсем нравится что скрипт сохраняет файл с именем прописанным в теле скрипта.
Можно ли с делать диалоговое окно сохранения (с форматом *.nc) ?
*********************************************************************** Ответ на пост выше. Не мог прикрепить картинку к сообщению (файловый сервис картинок), по этому дал ссылку. Извините, исправлюсь.
Разобрался должно быть так: [vba]
Код
Private Sub CommandButton1_Click() Call example_02 End Sub
[/vba]
Сохраняет в папку где сам файл excel, но думаю это можно подправить указав путь, там же где и название файла. Хотелось бы получать при нажатии на кнопку окно с диалогом сохранения где можно прописать имя файла. Не совсем нравится что скрипт сохраняет файл с именем прописанным в теле скрипта.
Можно ли с делать диалоговое окно сохранения (с форматом *.nc) ?
*********************************************************************** Ответ на пост выше. Не мог прикрепить картинку к сообщению (файловый сервис картинок), по этому дал ссылку. Извините, исправлюсь.Rapiy
Сообщение отредактировал Rapiy - Понедельник, 26.10.2015, 14:06
Private Sub CommandButton1_Click() Call example_02 End Sub
[/vba]
Тело скрипта.
[vba]
Код
Sub example_02() Dim x, y(), i&, j&, s$ x = ActiveSheet.[a1:b49].Value If IsArray(x) Then ReDim y(1 To UBound(x)) For i = 1 To UBound(x) For j = 1 To UBound(x, 2) y(i) = y(i) & vbTab & x(i, j) Next j Next i: s = Join(y, vbCrLf) Else s = x End If With CreateObject("scripting.filesystemobject") With .CreateTextFile(ThisWorkbook.Path & "\000.nc", True) .Write s: .Close End With End With MsgBox "Ok", 64 End Sub
[/vba]
Файл 000.nc сохраняется в папку с файлом excel в котором расположена кнопка. Как сделать что бы при сохранении самому задавать имя файла, а лучше и путь сохранения?
Кнопка. [vba]
Код
Private Sub CommandButton1_Click() Call example_02 End Sub
[/vba]
Тело скрипта.
[vba]
Код
Sub example_02() Dim x, y(), i&, j&, s$ x = ActiveSheet.[a1:b49].Value If IsArray(x) Then ReDim y(1 To UBound(x)) For i = 1 To UBound(x) For j = 1 To UBound(x, 2) y(i) = y(i) & vbTab & x(i, j) Next j Next i: s = Join(y, vbCrLf) Else s = x End If With CreateObject("scripting.filesystemobject") With .CreateTextFile(ThisWorkbook.Path & "\000.nc", True) .Write s: .Close End With End With MsgBox "Ok", 64 End Sub
[/vba]
Файл 000.nc сохраняется в папку с файлом excel в котором расположена кнопка. Как сделать что бы при сохранении самому задавать имя файла, а лучше и путь сохранения?Rapiy
Сообщение отредактировал Rapiy - Понедельник, 26.10.2015, 14:29
Ответ на пост выше. Не мог прикрепить картинку к сообщению (файловый сервис картинок), по этому дал ссылку. Извините, исправлюсь.
Цитата
3. Кратко, но ёмко опишите задачу в теле поста. ВСЕГДА прикладывайте файл-пример, кроме тех случаев, когда вопрос носит общий характер и не касается конкретно Вашего файла. Темы касающиеся конкретного файла, но без приложенного примера, будут закрываться или удаляться.
Старайтесь прилагать файлы в версии Excel 2003-го офиса(xls), так как эти файлы могут открыть пользователи с любой версией Excel, в отличие от файлов версий Excel 2007/2010/2013 (xlsх).
Ответ на пост выше. Не мог прикрепить картинку к сообщению (файловый сервис картинок), по этому дал ссылку. Извините, исправлюсь.
Цитата
3. Кратко, но ёмко опишите задачу в теле поста. ВСЕГДА прикладывайте файл-пример, кроме тех случаев, когда вопрос носит общий характер и не касается конкретно Вашего файла. Темы касающиеся конкретного файла, но без приложенного примера, будут закрываться или удаляться.
Старайтесь прилагать файлы в версии Excel 2003-го офиса(xls), так как эти файлы могут открыть пользователи с любой версией Excel, в отличие от файлов версий Excel 2007/2010/2013 (xlsх).
Private Sub CommandButton1_Click() Call example_02 End Sub
[/vba]
Тело скрипта.
[vba]
Код
Sub example_02() Dim x, y(), i&, j&, s$ x = ActiveSheet.[a1:b49].Value If IsArray(x) Then ReDim y(1 To UBound(x)) For i = 1 To UBound(x) For j = 1 To UBound(x, 2) y(i) = y(i) & vbTab & x(i, j) Next j Next i: s = Join(y, vbCrLf) Else s = x End If With CreateObject("scripting.filesystemobject") With .CreateTextFile(ThisWorkbook.Path & "\000.nc", True) .Write s: .Close End With End With MsgBox "Ok", 64 End Sub
[/vba]
Файл 000.nc сохраняется в папку с файлом excel в котором расположена кнопка. Как сделать что бы при сохранении самому задавать имя файла, а лучше и путь сохранения?
ПРИКРЕПЛЯЮ ФАЙЛ! :D исправился, больше не буду
Кнопка. [vba]
Код
Private Sub CommandButton1_Click() Call example_02 End Sub
[/vba]
Тело скрипта.
[vba]
Код
Sub example_02() Dim x, y(), i&, j&, s$ x = ActiveSheet.[a1:b49].Value If IsArray(x) Then ReDim y(1 To UBound(x)) For i = 1 To UBound(x) For j = 1 To UBound(x, 2) y(i) = y(i) & vbTab & x(i, j) Next j Next i: s = Join(y, vbCrLf) Else s = x End If With CreateObject("scripting.filesystemobject") With .CreateTextFile(ThisWorkbook.Path & "\000.nc", True) .Write s: .Close End With End With MsgBox "Ok", 64 End Sub
[/vba]
Файл 000.nc сохраняется в папку с файлом excel в котором расположена кнопка. Как сделать что бы при сохранении самому задавать имя файла, а лучше и путь сохранения?
ПРИКРЕПЛЯЮ ФАЙЛ! :D исправился, больше не буду Rapiy
Sub example_02() Dim x, y(), i&, j&, s$, Fn$ x = ActiveSheet.[a1:b49].Value If IsArray(x) Then ReDim y(1 To UBound(x)) For i = 1 To UBound(x) For j = 1 To UBound(x, 2) y(i) = y(i) & vbTab & x(i, j) Next j Next i: s = Join(y, vbCrLf) Else s = x End If Fn = InputBox("Введите полное имя файла", "Имя файла", ActiveWorkbook.Path & "\000.nc") With CreateObject("scripting.filesystemobject") With .CreateTextFile(Fn, True) .Write s: .Close End With End With MsgBox "Ok", 64 End Sub
[/vba]
p/s Это форум, и сюда приходят люди с вопросами и готовый пример - помогает понять, что, как и к чему
Вот: :D
[vba]
Код
Sub example_02() Dim x, y(), i&, j&, s$, Fn$ x = ActiveSheet.[a1:b49].Value If IsArray(x) Then ReDim y(1 To UBound(x)) For i = 1 To UBound(x) For j = 1 To UBound(x, 2) y(i) = y(i) & vbTab & x(i, j) Next j Next i: s = Join(y, vbCrLf) Else s = x End If Fn = InputBox("Введите полное имя файла", "Имя файла", ActiveWorkbook.Path & "\000.nc") With CreateObject("scripting.filesystemobject") With .CreateTextFile(Fn, True) .Write s: .Close End With End With MsgBox "Ok", 64 End Sub
[/vba]
p/s Это форум, и сюда приходят люди с вопросами и готовый пример - помогает понять, что, как и к чему SLAVICK
Возникла необходимость продолжить диалог. Как в имя сохраняемого файла добавить запись из ячеек к примеру C3 и D3, сохранённый файл должен быть такой: bla_bla_[цыфры из ячейки C3] x [цыфры из ячейки D3].cnc , вместо (proba.cnc) нужно что то прописать, я полагаю. Файл с скриптом прикрепляю Очень надеюсь что кто нибудь прочитает и поможет Заранее огромное спасибо! [vba]
Код
Sub example_02() Dim x, y(), i&, j&, s$ x = ActiveSheet.[a1:b49].Value If IsArray(x) Then ReDim y(1 To UBound(x)) For i = 1 To UBound(x) For j = 1 To UBound(x, 2) y(i) = y(i) & vbTab & x(i, j) Next j Next i: s = Join(y, vbCrLf) Else s = x End If With CreateObject("scripting.filesystemobject") With .CreateTextFile(ThisWorkbook.Path & "\proba.cnc", True) .Write s: .Close End With End With MsgBox "Ok ;) файл сохранён", 64 End Sub
[/vba]
Доброе время суток!
Возникла необходимость продолжить диалог. Как в имя сохраняемого файла добавить запись из ячеек к примеру C3 и D3, сохранённый файл должен быть такой: bla_bla_[цыфры из ячейки C3] x [цыфры из ячейки D3].cnc , вместо (proba.cnc) нужно что то прописать, я полагаю. Файл с скриптом прикрепляю Очень надеюсь что кто нибудь прочитает и поможет Заранее огромное спасибо! [vba]
Код
Sub example_02() Dim x, y(), i&, j&, s$ x = ActiveSheet.[a1:b49].Value If IsArray(x) Then ReDim y(1 To UBound(x)) For i = 1 To UBound(x) For j = 1 To UBound(x, 2) y(i) = y(i) & vbTab & x(i, j) Next j Next i: s = Join(y, vbCrLf) Else s = x End If With CreateObject("scripting.filesystemobject") With .CreateTextFile(ThisWorkbook.Path & "\proba.cnc", True) .Write s: .Close End With End With MsgBox "Ok ;) файл сохранён", 64 End Sub
RAN, Не меня меня лично в данном аспекте .tap, .nc, .cnc интересуют, .stl это конечно не плохо (nurbs это круто) :D но как то все более на уровне кода тянет работать. Если Вы параметризацией занимались (ну там круговая интерполяция...), мы бы нашли общий язык ...?
RAN, Не меня меня лично в данном аспекте .tap, .nc, .cnc интересуют, .stl это конечно не плохо (nurbs это круто) :D но как то все более на уровне кода тянет работать. Если Вы параметризацией занимались (ну там круговая интерполяция...), мы бы нашли общий язык ...?Rapiy
Сообщение отредактировал Rapiy - Понедельник, 24.07.2017, 09:09