Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - vb 6. Передача строковой переменной в shell

Ответить
Настройки темы
VBA - vb 6. Передача строковой переменной в shell

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Задачка такая: в бейсике в текстбокс1 пишу путь к текстовому файлу такого формата: "c:\path\podschet.txt", далее я объявляю строковую переменную "а" и присваиваю ей значение из текстбокс1. Т.е. в переменной "а" у меня хранится путь. Далее мне нужно записать в этот podschet.txt просто единицу, с помощью cmd. Через shell в бейсике это делается просто: shell "cmd.exe /c echo 1 > c:\path\podschet.txt". Задача заключается в том, чтобы в в команде shell не писать сам путь, а использовать переменную "а". Таким образом код должен выглядеть примерно так: shell "cmd.exe /c echo 1 > %а%". Понимаю, что первым делом возникает вопрос: а зачем тут командная строка? Ведь можно операцию записи единицы осуществить в том же бейсике. Отвечаю: это просто пример, самый простой и понятный. Для моей более сложной задачи этот пример послужит шаблоном. И ещё небольшое дополнение: мне не подходит решение, заключающееся в сохранении пути в текстовый файл через бейсик, а потом считывание этого пути командной строкой, т.е. некий буфер обмена (текстовый файл).

Отправлено: 09:28, 15-05-2015

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата 666egor666:
в бейсике в текстбокс1 пишу путь к текстовому файлу такого формата: "c:\path\podschet.txt", далее я объявляю строковую переменную "а" и присваиваю ей значение из текстбокс1. Т.е. в переменной "а" у меня хранится путь. »
Где Ваш код, где Ваш проект?

Цитата 666egor666:
Далее мне нужно записать в этот podschet.txt просто единицу, с помощью cmd. »
Зачем так?

Цитата 666egor666:
Задача заключается в том, чтобы в в команде shell не писать сам путь, а использовать переменную "а". Таким образом код должен выглядеть примерно так: shell "cmd.exe /c echo 1 > %а%". »
Код никак не может так выглядеть, поскольку переменные в приложении никоим образом не связаны с переменными окружения командного процессора.

Цитата 666egor666:
Понимаю, что первым делом возникает вопрос: а зачем тут командная строка? Ведь можно операцию записи единицы осуществить в том же бейсике. Отвечаю: это просто пример, самый простой и понятный. Для моей более сложной задачи этот пример послужит шаблоном. »
Не страдайте. Уже в примере видно, что выбранный Вами путь решения банально нелеп. Используйте либо средства самого VB6, либо объект TextStream библиотеки Automation «Scripting.FileSystemObject».

Отправлено: 09:52, 15-05-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Где Ваш код, где Ваш проект? »
Ещё раз напоминаю, в теме я привёл пример, который может представить себе любой человек. Ни о каком проекте речи не идёт. Это только условная схема.
Цитата Iska:
Зачем так? »
потому что для моих задач это необходимо делать именно через cmd. Это уже не относится к теме.
Цитата Iska:
Код никак не может так выглядеть, поскольку переменные в приложении никоим образом не связаны с переменными окружения командного процессора. »
я не претендую на правильное написание кода, т.к. я даже не представляю как это осуществить. я привёл догадки, потому что ни бейсиком ни cmd я не владею даже на среднем уровне. По этому я и создал тему для того чтобы понять, осуществима ли задача вообще и стоит ли её развивать.

Отправлено: 10:08, 15-05-2015 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Мда…
Код: Выделить весь код
Option Explicit

Sub Sample()
    Dim sPath As String
    
    sPath = "c:\path\podschet.txt"
    
    Shell """" & Environ("comspec") & """ /c "">""" & sPath & """ echo 1"""
End Sub

Отправлено: 13:53, 15-05-2015 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - vb 6. Передача строковой переменной в shell

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Получение строковой переменной из параметра запуска скрипта XOBAH AutoIt 2 12-10-2011 22:56
C/C++ - Передача переменной в другую программу. ikif Программирование и базы данных 1 29-04-2011 21:50
MSFT SQL Server - Использование в хранимой процедуре строковой переменной Delirium Программирование и базы данных 2 18-02-2011 00:53
Передача переменной на другую страничку darksmoke Вебмастеру 6 28-08-2008 01:04
php деление значения строковой переменной Guest Вебмастеру 4 14-10-2004 17:12




 
Переход