0 / 0 / 0
Регистрация: 22.04.2018
Сообщений: 48

Запись в txt и последующая реакция - на записанное в txt

05.05.2018, 05:23. Показов 1425. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе утро.

Пытаюсь решить такую задачу:
Есть три файла 1.xls, 2.xls и 1.txt
В файле

Макрос1 в файле 1.xls, прицепленный к кнопке - записывает в ячейку D18 либо 0 либо 1
Макрос2 в файле 2.xls (очень простой), прицепленный к кнопке - окрашивает три ячейки в разные цвета.

Так вот вопрос - как при срабатывании макроса1 файла 1.xls - записать результат ячейки D18 - в файл 1.txt (стерев предыдущее содержимое).
И как затем при запуске макроса2 в файле 2.xls - запускать его только в том случае, если в файле 1.txt - записана 1 ?

То есть один макрос должен сделать запись в 1.txt, а второй макрос - прочитать 1.txt
Файл 1.txt лежит по адресу c:\11\1.txt
Вложения
Тип файла: rar 1.rar (27.9 Кб, 6 просмотров)
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.05.2018, 05:23
Ответы с готовыми решениями:

Чтение из файла 'New.txt', запись четных строк в '1.txt', а нечетных в '2.txt'
В общем все работает, но есть "НО", иначе бы не открывал тему. Содержимое исходного файла: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2...

Ввод данных с txt файла, сортировка и запись результата в txt файлы
Доброго времени суток, такое задание, не могу сделать ввод данных из .тхт файла, чтобы потом отсортировать данные из этого же файла и...

В папке К2 создайте файл t3.txt, в который перепишите вначале текст из файла t1.txt, а затем из t2.txt
Программным путем: 1. В папке С:\temp создайте папки К1 и К2. 2. В папке К1: a) создайте файл t1.txt, в который запишите следующий...

3
...
 Аватар для ji2n
39 / 37 / 13
Регистрация: 08.10.2016
Сообщений: 173
05.05.2018, 07:04
Лучший ответ Сообщение было отмечено RagnarLodbrok как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Dim X ' - переменная (0 или 1)
X = 1 'для примера пусть Х=1
'Пишем  X в файл:
    MyFile = FreeFile ' Присваиваем свободный канал, для работы с файлами
    Open (c:\11\1.txt") For Output As #MyFile 'Открыть файл 1.txt на запись
            Print #MyFile, X ' пишем Х в файл
    Close #MyFile ' закрываем файл
 
'Читаем X из файла:
    MyFile = FreeFile
    Open ("c:\11\1.txt") For Input As #MyFile
            Input #MyFile, X ' читаем Х из файл
    Close #MyFile
    'if X =1 then .... else ....
1
0 / 0 / 0
Регистрация: 22.04.2018
Сообщений: 48
05.05.2018, 22:38  [ТС]
ji2n, что-то не работает.
Первый код - записывает не "1" или "0", а " 1" или " 0"
Кликните здесь для просмотра всего текста

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Sub Макрос1()
If [D18] = 1 Then
    ActiveSheet.Shapes.Range(Array("Oval 1")).Visible = False
    ActiveSheet.Shapes.Range(Array("Oval 3")).Visible = True
    [D18] = 0
Else
    ActiveSheet.Shapes.Range(Array("Oval 1")).Visible = True
    ActiveSheet.Shapes.Range(Array("Oval 3")).Visible = False
    [D18] = 1
End If
 
 
Dim X ' - переменная (0 или 1)
X = Range("D18")
'Пишем  X в файл:
    MyFile = FreeFile ' Присваиваем свободный канал, для работы с файлами
    Open ("d:\1 1\1.txt") For Output As #MyFile 'Открыть файл 1.txt на запись
            Print #MyFile, X ' пишем Х в файл
    Close #MyFile ' закрываем файл
 
End Sub


Второй код - тоже не работает, выдает ошибку.
Кликните здесь для просмотра всего текста

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Sub Макрос2()
 
    Range("D3").Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 65535
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Range("E3").Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 15773696
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Range("F3").Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Range("C5").Select
      
    'Читаем X из файла:
    MyFile = FreeFile
    Open ("d:\1 1\1.txt") For Input As #MyFile
            Input #MyFile, X ' читаем Х из файл
    Close #MyFile
    If X = 1 Then Макрос2
        
    End If
    
End Sub


Добавлено через 6 часов 59 минут
ji2n, в общем разобрался во всем.
Спасибо.
0
...
 Аватар для ji2n
39 / 37 / 13
Регистрация: 08.10.2016
Сообщений: 173
05.05.2018, 22:42
Цитата Сообщение от RagnarLodbrok Посмотреть сообщение
Первый код - записывает не "1" или "0", а " 1" или " 0"
строки 5 и 9 местами поменяйте
Цитата Сообщение от RagnarLodbrok Посмотреть сообщение
Второй код - тоже не работает, выдает ошибку.
у Вас строка 36 - лишняя.

Добавлено через 1 минуту
Цитата Сообщение от RagnarLodbrok Посмотреть сообщение
Добавлено через 14 секунд
ji2n, в общем разобрался во всем.
Пожалуйста!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.05.2018, 22:42
Помогаю со студенческими работами здесь

Создать новый файл qa.txt, который будет содержать строки с вопросами и ответами из файлов q.txt и a.txt.
В текстовом редакторе создать два текстовых файла q.txt и a.txt, которые соответственно содержат вопросы и ответы на их. Создать новый файл...

Разбить входной файл xanadu.txt на 2 выходных 1.txt и 2.txt. В 1- нечетные, 2- четные
Разбить входной файл xanadu.txt на 2 выходных 1.txt и 2.txt. В 1- нечетные, 2- четные. Записать программу обратного слияния.

Записать в text3.txt строки, которые есть и в text1.txt, и в text2.txt
Здравствуйте, нужно записать в text3.txt строки, которые есть и в text1.txt, и в text2.txt помогите, пожалуйста

Разбить входной файл, например: xatadu.txt на 2 выходные файлы:1.txt и 2.txt , записав в 1 нечетные байты, а в 2 четные
Разбить входной файл, например: xatadu.txt на 2 выходные файлы:1.txt и 2.txt , записав в 1 нечетные байты, а в 2 четные. И записать...

Переписать компоненты файла 1.txt в файл 3.txt так, чтобы в файле 3.txt числа шли в определенном порядке
Дан файл 1.txt, компоненты которого являются целыми числами.Файл 1.txt содержит столько же отрицательных чисел, сколько положительных....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru