Автоматический запуск файла в Excel по условию

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Автоматический запуск файла в Excel по условию

breeze » 20 июл 2006, 13:48

Всем огромное спасибо!!!!
Всё работает!
Будут вопросы-сразу к вам)...

Avsha » 20 июл 2006, 11:07

Как вариант... не ругайте, если не подходит по условиям задачи...
-------------------------------------------------
1. Можно писать значения в .txt
2. bat-файлом сравнивать (вроде это можно реализовать на командах Пуск\Выполнить\cmd >help) и запускать .wav
а bat-файл пусть запускает как задачу по времени Планировщик задач Windows (1 раз в минуту, например)

Sokl » 20 июл 2006, 06:57

ПАШУЛЬКА дело говорит, только не договаривает...

Код: Выделить всё

Option Explicit
Private Declare Function PlaySound Lib "winmm.dll" _
                Alias "PlaySoundA" ( _
                ByVal lpszName As String, _
                ByVal hModule As Long, _
                ByVal dwFlags As Long) As Long

Private Sub Play()
       PlaySound "c:\temp\chimes.wav", 0&, &H1
End Sub

Private Sub Worksheet_Calculate()
        If [A1].Value > [B1].Value Then Play
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    If (Target = [A1]) Then
        If [A1].Value > [B1].Value Then Play
    End If
End Sub
http://sosokl.narod.ru/NePutayChelovekoff.xls

pashulka » 20 июл 2006, 03:14

Код: Выделить всё

Private Sub Worksheet_Calculate()

End Sub

breeze » 20 июл 2006, 01:51

Надо сразу об'яснять поставленную задачу
Извените...

Worksheet_Calculate( ЧТО ЗДЕСЬ НАПИСАТЬ7) Если оставить "ByVal Target As Range", то он пишет что мол заявленная процедура не совпадает с коментарием...ну, или что-то типа того...

pashulka » 20 июл 2006, 01:28

Надо сразу об'яснять поставленную задачу, в таком случае не будет искусственно замученого топика. Что касается решения, то - Worksheet_Calculate()

breeze » 20 июл 2006, 01:17

Поэтому ваш вариант на втором листе отпадает...(

breeze » 20 июл 2006, 01:15

У меня ситуация следующая:есть ячейка А1, в которой значение периодически обнавляется через инет...
Необходимо подать сигнал, если значение А1 больше какого-то определённого (>Б1)...
Проблема в том, что при обновлении сигнал не возникает (как в случае с ручным вводом)...

pashulka » 20 июл 2006, 01:00

Что касается второго листа, то при правильном копировании описанной проблемы не будет, впрочем, в данном случае гораздо проще внести небольшие изменения, чем раз'яснять возможную причину, поэтому пример с двумя листами можно скачать здесь. Ссылка на книгу Дж.Уокенбаха наличествовала на этом форуме.

Что касается ссылки, то нужно сразу определиться с приоритетами и при проверке указывать адреса ячеек, которые служат источником данных, или заменить событие Worksheet_Change() на Worksheet_Calculate() (но использование этого события имеет свои особенности - минусы)

breeze » 19 июл 2006, 20:51

Обозначился один немаловажный вопрос...
Сигнал не включается если мы меняем не саму ячейку, а ссылку...т.е. есть имеем ячейки А1 и Б1...Если мы вручную меняем значение ячейки А1 и оно становится больше значения Б1, то включается сигнал...Но если мы делаем ссылки - допустим А1=А2 и Б1=Б2 и меняем уже значения А2 и Б2 , то сигнала не происходит... Что можно сделать7..., это рушит все мои планы)....
Помогите пожалуйста...
Спасибо...

Вернуться к началу