понедельник, 20 декабря 2010 г.

Под Windows 7 не открываются chm файлы

Была такая проблема на компьютере под управлением Windows 7 не полностью открываются CHM файлы. То есть они запускаются как надо, показывается оглавление (список разделов) полностью, но при клике на них сами странички не открываются - вместо них загружается стандартная для IE ошибка, типа страничка не найдена.
Решение оказалась очень простым: в командной строке выполняем regsvr32 hhctrl.ocx

Бывает что нет оглавления это значит что потерялся фаил *.CHI

Удачи!

четверг, 14 октября 2010 г.

What is my IP adress? Как узнать свой реальный IP адрес?

Для чего это вообще может быть нужно?! Область применения обширная, приведу один пример: вам необходимо подключится к удаленному рабочему столу своего домашнего компьютера, тогда второй пример именно для вас.


Первый пример
В первом примере идем по адресу http://whatismyip.org , после загрузки страницы, берем ее содержимое и записываем в файл MyIP.txt

Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0

Dim URl, objShell, objShellWindows

Set fso = CreateObject("Scripting.FileSystemObject")
  fso.CreateTextFile "MyIP.txt"
  Set f = fso.GetFile("MyIP.txt")
  Set ts = f.OpenAsTextStream(ForWriting, TristateTrue)

URL = "http://whatismyip.org/"

Set objIE = WScript.CreateObject("InternetExplorer.Application")
      objIE.Navigate URL
      objIE.Visible = false

While objIE.Busy
  Wscript.Sleep 1000
Wend

ts.WriteLine objIE.document.body.innerTextts.Close

objIE.Quit


Второй пример
Во втором примере идем по адресу http://whatismyip.org , после загрузки страницы, берем ее содержимое и отправляем полученный IP адрес на email.
ПРИМИЧАНИЕ: для использования второго примера нам потребуется программа Blat это маленькая (70kB) open source консольная програмулька под Windows, которая позволяет отправлять e-Mail по SMTP протоколу из командной строки.


Dim URl, WshShell, objIE, Ip

Set WshShell = WScript.CreateObject("WScript.Shell")

URL = "http://whatismyip.org/"

Set objIE = WScript.CreateObject("InternetExplorer.Application")
      objIE.Navigate URL
      objIE.Visible = false

While objIE.Busy
   Wscript.Sleep 1000
Wend

Ip = objIE.document.body.innerText

WshShell.Run "blat -serverSMTP smtp.yandex.ru -f MailОтпровитель@ya.ru -u Логин -pw Пароль -to MailПолучатель@yandex.ru -subject Ip -body " & Ip & " -log Ip.txt",0,1

objIE.Quit

вторник, 12 октября 2010 г.

Excel. Формулы массива.

Цель: показать начинающим пользователям интересные возможности Excel в данном случае под такими возможностями подразумевается работа с формулами массива.

Чтобы в полной мере использовать возможности Excel, необходимо уметь работать с формулами массива, которые позволяют выполнять вычисления, недоступные при помощи других формул.
Как то давным давно... учился я в институте) бухгалтер одно предприятия попросил меня решить при помощи Excel следующую задачу: дан ряд чисел, в этот ряд входят числа как положительные так и отрицательные, необходимо вывести сумму только положительных чисел!
Задачу эту будем решать двумя способами для наглядности работы и преимущества рассматриваемого инструмента.
В первом и во втором случае мы воспользуемся тремя функциями
  • СУММ() - суммирует аргументы,
  • ЕСЛИ() - Возвращает одно значение, если заданное условие при вычислении дает значение ИСТИНА, и другое значение, если ЛОЖЬ.
  • ЗНАК() - Определяет знак числа. Возвращает значение 1, если число положительное, 0 (ноль), если число равно 0, и -1, если число отрицательное.

Приступим
Способ №1
  1. Как показано на рис.1 в ячейку С3 мы вводим формулу =ЕСЛИ(ЗНАК(B3)>=0;B3;"") и нажимаем клавишу Ввод(Enter)
  2. курсор должен находится в ячейке С3, нажимаем левой кнопкой мыши на правый нижний угол ячейки С3 и не отпуская кнопки мыши тяним до ячейки С18, отпускаем кнопку мыши, после этого мы видим что числа с отрицательным знаком отсеялись!
  3. В ячейку С20 вводим формулу =СУММ(C3:C18) и видим сумму положительных чисел из данного нам ряда чисел, первым способом задача решина.


Способ №2

  1. Создаем массив.
    1. выделяем диапазон ячеек от G3-G18
    2. на вкладке Формулы в группе Определенные имена выберите команду Присвоить имя.
    • Откроется диалоговое окно Присвоение имени.
    1. В поле Имя введите mas1.
    • Есть альтернативный и более быстрый способ присвоения имени диапозону ячеек смотрите на рис. 2
  1. В ячейку G20 вводим формулу =СУММ(ЕСЛИ(ЗНАК(mas1)=1;1;0)*mas1) и нажимаем сочетание клавиш  CTRL+SHIFT+ENTER а не ENTER, формула будет заключена в фигурные скобки ({ }) это значит что вы ввели формулу массива.

ПРИМЕЧАНИЕ.   Формулы массива иногда называют «формулами CSE», поскольку для их ввода в рабочих книгах используется сочетание клавиш CTRL+SHIFT+ВВОД .