Вопрос № 95726: ПРИВЕТ ВСЕМ!
помогите с написанием макроса:
ЕСть документ WORD, при нажатии на клавиши CTRL+F открывается окно поиска, в котором ставим галочку в поле "выделить все элементы, найденные в". В результате во всем документе выделяется ...Вопрос № 95737: Добрый вечер!
подскажите, пожалуйста, какой программой на Basic,
в EXCEL -таблице ( например):
7820 1550
6970 1890
7450 1900
7040 3110
6730 1440
6370 960
6350 1090
6040 530
6020 1110
5890 560
6840...Вопрос № 95745: Доброго времени суток!
Помогите с решением!
Как из VBA Excel 2003 нажать Num Lock нашел:
Set WSHShell = CreateObject("WScript.Shell")
WSHShell.SendKeys "{NUMLOCK}"
А вот как узнать горит ли индикатор ...
Вопрос № 95.726
ПРИВЕТ ВСЕМ!
помогите с написанием макроса:
ЕСть документ WORD, при нажатии на клавиши CTRL+F открывается окно поиска, в котором ставим галочку в поле "выделить все элементы, найденные в". В результате во всем документе выделяется искомый текст. МОжно ли написать макрос, который бы выводил на печать все страницы, на которых был найдет этот текст?
Или упрощенный вариант - написать макрос, который бы искал в документе текст, - выводил на печать всю страницу на которой нашел этот текст, затем искал следующую страницу, и тоже выводил на печать, и так до конца документа, и потом сам останавливался.
Помогите если не трудно.
Заранее спасибо.
Отправлен: 19.07.2007, 19:57
Вопрос задал: Gkv
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Черников Игорь Владимирович
Здравствуйте, !
Если чё, пиши!
Упрощённый вариант. вставь в ворд:
слово = InputBox("Введите искомое слово или выражение", "Поиск и печать")
10 simvol$ = ActiveDocument.Range(Start:=Selection.End, End:=Selection.End + 1)
Искомое = ActiveDocument.Range(Start:=Selection.End, End:=Selection.End + Len(слово))
Selection.MoveRight Unit:=wdCharacter, Count:=1
If слово = Искомое Then
Application.PrintOut FileName:="", Range:=wdPrintCurrentPage, Item:= _
wdPrintDocumentContent, Copies:=1, Pages:="", PageType:=wdPrintAllPages, _
ManualDuplexPrint:=False, Collate:=True, Background:=True, PrintToFile:= _
False, PrintZoomColumn:=0, PrintZoomRow:=0, PrintZoomPaperWidth:=0, _
PrintZoomPaperHeight:=0
Application.Browser.Next
ТекущаяСтраница = Selection.Information(wdActiveEndPageNumber)
If ТекущаяСтраница = КоличествоСтраниц Then
Selection.EndKey Unit:=wdStory
Selection.Delete
End
End If
End If
ТекущаяСтраница = Selection.Information(wdActiveEndPageNumber)
If simvol$ = Chr(182) Then
Selection.Delete
End
End If
GoTo 10
End Sub
--------- От каждого по способностям, каждому по труду
Отвечает: Черников Игорь Владимирович
Здравствуйте, Маргарита!
Вставьте этот код в свой макрос и всё получится!
Данные должны распологаться, начиная с ячейки А1 количество столбцов может быть любое, лишь бы не было пустых ячеек в столбцах. Пустая ячейка означает конец столбца.
Do
НомерСтолбца = НомерСтолбца + 1
Do
НомерСтроки = НомерСтроки + 1
temp = Cells(НомерСтроки, НомерСтолбца)
If temp = "" Then Exit Do
Cells(НомерСтроки, НомерСтолбца) = Mid(temp, 1, Len(temp) - 2) & "," & Mid(temp, Len(temp) - 1, 2)
Loop While Not temp = ""
НомерСтроки = 0
If Cells(НомерСтроки + 1, НомерСтолбца + 1) = "" Then End
Loop
--------- От каждого по способностям, каждому по труду
Ответ отправил: Черников Игорь Владимирович (статус: 2-ой класс)
Ответ отправлен: 21.07.2007, 15:24 Оценка за ответ: 5
Вопрос № 95.745
Доброго времени суток!
Помогите с решением!
Как из VBA Excel 2003 нажать Num Lock нашел:
Set WSHShell = CreateObject("WScript.Shell")
WSHShell.SendKeys "{NUMLOCK}"
А вот как узнать горит ли индикатор Num Lock (VBA Excel)?
Заранее благодарен.
Отправлен: 20.07.2007, 02:10
Вопрос задал: Obana (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Залетин Виталий Викторович (мь!тарь)
Здравствуйте, Obana!
Почитайте вот это:
http://www.rusedu.info/modules.php?op=modload&name=News&file=article&sid=273
http://www.rusedu.info/index.php?module=News&catid=&topic=18
Далее - сам вариант решения проблемы: надо использовать АПИ-функции:
'Объявления АПИ-функций:
Private Declare Function GetKeyboardState Lib "user32.dll" (lpKeyState As Byte) As Long
Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
'Код:
'Функция вернет состояние клавиши NUMLOCK на момент ее вызова
'Если NUMLOCK включен и параметр bOff=True, то выключаем NUMLOCK
Function TestNumLock(Optional ByVal bOff As Boolean = False) As Boolean
'Получаем состояние всех клавиш клавиатуры
Dim kbd(255) As Byte
GetKeyboardState kbd(0)
'Если NUMLOCK включен, смотрим наш параметр bOff
'И если он равен True, то выключаем NUMLOCK
If kbd(VK_NUMLOCK) And 1 Then 'NUMLOCK включен
If bOff = True Then 'Да, выключаем
keybd_event VK_NUMLOCK, 0, 0, 0
keybd_event VK_NUMLOCK, 0, KEYEVENTF_KEYUP, 0
End If
'Возвращаем состояние клавиши на момент вызова:
'вдруг кому охота узнать, была она включена или нет...
TestNumLock = True
Else
'Возвращаем состояние клавиши на момент вызова:
'NumLock была выключена
TestNumLock = False
End If
End Function
В принципе, это универсальное решение: главное подставлять коды нужных клавиш и все.
--------- Учиться никогда не поздно. Особенно программированию!
Отвечает: Черников Игорь Владимирович
Здравствуйте, Obana!
Воспользуйтесь этой ссылкой, пожалуйста, там всё сказано.
http://www.sources.ru/vb/system/read_numlock_and_capslock.shtml
--------- От каждого по способностям, каждому по труду