| 
							RomCom
							
						 | 
						
							
								  | 
								
									
									 «  : 25-04-2006 02:01 »   | 
								
								 | 
							  
							 
							Q: Как подсчитать сумму полей в столбце таблицы Access
  A: Сделай SQL-запрос  select sum(Поле1),sum(Поле2),sum(Поле3) from Таблица1 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 25-04-2006 07:06 от RomCom »
								 | 
								
									 
									Записан
								 | 
							  
							 
							R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RomCom
							
						 | 
						
							
								  | 
								
									
									 « Ответ #1 : 25-04-2006 05:18 »   | 
								
								 | 
							  
							 
							Q: Добавление узлов в TreeViewA:Dim parent, chld As Node
   With TreeView1.Nodes    'добавлаем первый главный узел    Set parent = .Add(, , , "Node1")    'раскрываем Node1    parent.Expanded = True     'добавлаем подузел для Node1    Set chld = .Add(parent, tvwChild, , "Node1_1")
     'добавлаем два подузла для Node1_1    Call .Add(chld, tvwChild, , "Node1_1_1")     Call .Add(chld, tvwChild, , "Node1_1_2")       'добавлаем второй главный узел    Call .Add(, , , "Node2")    End With  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 06-12-2007 17:49 от Алексей1153++ »
								 | 
								
									 
									Записан
								 | 
							  
							 
							R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RomCom
							
						 | 
						
							
								  | 
								
									
									 « Ответ #2 : 25-04-2006 05:23 »   | 
								
								 | 
							  
							 
							Q: Преобразование TextBox1.Text в числовой тип
  A: Два варианта. 1) Val(TextBox1.Text) - выдает результат в любом случае. пытается "выжить" из строки число. например: Val("123 ш 9")  вернет 123. 2) Функции семейства "Type Conversion Functions": CDbl, CByte, CCur, CDec, CInt, CLng, CSng - в случае не корректности строки вызывают Exception 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RomCom
							
						 | 
						
							
								  | 
								
									
									 « Ответ #3 : 25-04-2006 05:26 »   | 
								
								 | 
							  
							 
							Q: Как запретить просмотр макроса VBA
  A: В VBA IDE, вызвать свойство проекта (Tools --> Project Properties...). На закладке "Protection" поставить галочку "Lock project for viewing" и устанавить пароль в поле "Password to view project properties". 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RomCom
							
						 | 
						
							
								  | 
								
									
									 « Ответ #4 : 25-04-2006 05:40 »   | 
								
								 | 
							  
							 
							Q: Как в VB работать с com-портом?
  A: Через ActiveX объект MSCOMM32 (MSCOMM32.OCX). 
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RomCom
							
						 | 
						
							
								  | 
								
									
									 « Ответ #5 : 25-04-2006 07:05 »   | 
								
								 | 
							  
							 
							Q: Как сделать SQL-запрос к таблице Access в VBAA:Dim rs As Recordset Set rs = CurrentDb.OpenRecordset("select Поле1, sum(Поле2) from Таблица1 group by Поле1") name = rs.Fields("Поле1").Value sum = rs.Fields(1).Value rs.Close В итоге получим в  name значение поля "Поле1", а в  sum сумму по полю "Поле2".  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 25-04-2006 07:09 от RomCom »
								 | 
								
									 
									Записан
								 | 
							  
							 
							R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RomCom
							
						 | 
						
							
								  | 
								
									
									 « Ответ #6 : 25-04-2006 07:51 »   | 
								
								 | 
							  
							 
							Q: В цикле дать возможность программе перерисовать окно, обработать нажатия клавиатуры или мышиA:В теле цикла необходимо вызвать функцию DoEvents For i = 1 To 100  'что делаем  ....  DoEvents Next
   
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 06-12-2007 17:50 от Алексей1153++ »
								 | 
								
									 
									Записан
								 | 
							  
							 
							R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RomCom
							
						 | 
						
							
								  | 
								
									
									 « Ответ #7 : 25-04-2006 08:11 »   | 
								
								 | 
							  
							 
							Q: Найти (заменить) в MSWord текст с определеным форматированиемA:Приведенный ниже код ищет в документе текст с цветом шрифта "Изумрудный" и изменяет цвет шрифта на "белый", цвет фона на "фиолетовый"  With Selection.Find     .ClearFormatting   'очищаем формат поиска     .Text = ""     .Replacement.Text = ""     .Forward = True     .Wrap = wdFindContinue     .Format = True     .MatchCase = False     .MatchWholeWord = False     .MatchWildcards = False     .MatchSoundsLike = False     .MatchAllWordForms = False     .Font.Color = wdColorSeaGreen 'цвет Изумрудный       While .Execute     If .Found Then         Selection.Font.Color = wdColorWhite ' белый         Selection.Range.HighlightColorIndex = wdViolet 'фиолетовый     End If   Wend  End With
   
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 06-12-2007 17:51 от Алексей1153++ »
								 | 
								
									 
									Записан
								 | 
							  
							 
							R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RomCom
							
						 | 
						
							
								  | 
								
									
									«  Ответ #8 : 28-04-2006 04:53 »    | 
								
								 | 
							  
							 
							Q: Как в Excel узнать где кончается таблица, адрес последней ячейки?A:С помощью функции  SpecialCells можно узнать  адрес правой нижней ячейкиDim rng As Range Dim LastAdr, LastRow, LastColumn As Integer Set rng = ActiveSheet.Cells.SpecialCells(xlLastCell)  LastAdr = rng.Address(RowAbsolute = True, ColumnAbsolute = True) ' Адрес правой нижней ячейки LastColumn = rng.Column 'Номер правого столбца таблицы LastRow = rng.Row 'Номер последней строки таблицы
   
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 06-12-2007 17:51 от Алексей1153++ »
								 | 
								
									 
									Записан
								 | 
							  
							 
							R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RomCom
							
						 | 
						
							
								  | 
								
									
									 « Ответ #9 : 28-04-2006 05:50 »   | 
								
								 | 
							  
							 
							Q: Есть ли в VBA какая-нибудь стандартная функция для преобразования hex-числа в десятичное? Есть функция val(), но она, к сожалению, некорректно работает с числами в диапазоне H8000 (дес. - 32768) - HFFFF (дес. - 65535): возвращает отрицательное значение.A:Функция Val() работает корректно. Отрицательные значения получаются из-за того что все числовые типы данных в VBA знаковые. "H8000" будет равняться "-32768" для 32 битного целого типа сознаком (Integer).  Что бы преобразовать строку из hex-числа в десятичное, достаточно просто присвоить значение строки переменной числового типа. Dim b As Double, a As String a = InputBox("Введите hex-число:") b = "&H" & a Debug.Print b
   
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 01-05-2006 08:25 от RomCom »
								 | 
								
									 
									Записан
								 | 
							  
							 
							R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RomCom
							
						 | 
						
							
								  | 
								
									
									 « Ответ #10 : 02-05-2006 02:57 »   | 
								
								 | 
							  
							 
							Q: Мне надо сделать так что б в Excel при нажатие на любую ячейку из диапазона (например B2:V2), появлялось диалоговое окно, которое я создам на VBA.A:Необходимо обработать событие Worksheet_SelectionChange для листа: Private Const startCol As Integer = 2 'начальный диапазон колонок (В) Private Const endCol As Integer = 22 'конечный диапазон колонок (V) Private Const startRow As Integer = 2 'начальный диапазон строк Private Const endRow As Integer = 2 'конечный диапазон строк
  Private Sub Worksheet_SelectionChange(ByVal Target As Range)   If Target.Column >= startCol And Target.Column <= endCol Then   If Target.Row >= startRow And Target.Row <= endRow Then    UserForm1.Show 'вызов диалогового окна   End If  End If End Sub  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 06-12-2007 17:52 от Алексей1153++ »
								 | 
								
									 
									Записан
								 | 
							  
							 
							R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RomCom
							
						 | 
						
							
								  | 
								
									
									 « Ответ #11 : 02-05-2006 04:59 »   | 
								
								 | 
							  
							 
							Q: У меня в Excel (Word) есть на форме textbox, value-значение которого например равно 100, как сохранить измененное значение textboxа, например я ввела 150 и надо чтоб при следующем запуске программы в textboxе было уже 150?A:Для хранения ползовательских данных есть специальная коллекция  CustomDocumentProperties. Приведенный ниже код сохраняет в этой коллекции текущую дату и время при открытии и показывает это значение при следующем открытии. Private Sub Workbook_Open()  If ThisWorkbook.CustomDocumentProperties.Count > 0 Then    MsgBox "Last Open Date " & ThisWorkbook.CustomDocumentProperties(1).Value    ThisWorkbook.CustomDocumentProperties(1).Value = Now  Else   Call ThisWorkbook.CustomDocumentProperties.Add("LastOpenDate", False, msoPropertyTypeDate, Now, False)  End If  ThisWorkbook.Save End Sub
   
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RomCom
							
						 | 
						
							
								  | 
								
									
									 « Ответ #12 : 02-05-2006 05:35 »   | 
								
								 | 
							  
							 
							Q: Как в Excel (Word) узнать количество дней (недель) прошедших с начала года, квартал и т.д.?A:Для этого существует функция DatePart(interval, date). MsgBox DatePart("ww", Now) ' - покажет кол. прошедших недель с начала года  Другие полезные значения для параметра  interval: q - Получить номер квартала  y - Количество дней прошедших с начала года w - День недели ww - Количество недель прошедших с начала года  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 06-12-2007 17:53 от Алексей1153++ »
								 | 
								
									 
									Записан
								 | 
							  
							 
							R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RomCom
							
						 | 
						
							
								  | 
								
									
									 « Ответ #13 : 02-05-2006 05:50 »   | 
								
								 | 
							  
							 
							Q: Как в Excel (Word) из строки поучить слова разделенные определенным символом (например пробелом)?A:Исползуйте функцию Split для разделения строки в массив (Array).  Следующий пример разделяет строку на слова: wdA=Split(ActiveCell.Value, " ", , vbBinaryCompare)  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RomCom
							
						 | 
						
							
								  | 
								
									
									 « Ответ #14 : 02-05-2006 06:23 »   | 
								
								 | 
							  
							 
							Q: Как узнать есть ли в числе запятая (целое оно или с дробной частью)?A:Самый простой способ: x- число  if x=round(x) then   x - без запятой  else   x - с запятой  end if  
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
								 | 
								
									 
									Записан
								 | 
							  
							 
							R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine 
						 | 
					 
				 
			 |  
		 
	 | 
	
		
		
			
				
					
						| 
							RomCom
							
						 | 
						
							
								  | 
								
									
									 « Ответ #15 : 02-05-2006 06:41 »   | 
								
								 | 
							  
							 
							Q: Как в Excel (Word) из VBA читать данные из текстового файла?A:Для этого можно использовать стандартные для VB функции  Open, Line, Close. Пример чтения из файла: Dim InputData Open "file.txt" For Input As #1    ' Открываем файл для чтения Do While Not EOF(1)    ' проверяем на конец файла.     Line Input #1, InputData    ' Считываем строку.     Debug.Print InputData    ' показываем строку в окне отладчика. Loop Close #1    ' Закрываем файл
   
						 | 
					 
					
						
							
								| 
								 | 
							 
								| 
									« Последнее редактирование: 06-12-2007 17:53 от Алексей1153++ »
								 | 
								
									 
									Записан
								 | 
							  
							 
							R.O.M.C.O.M.: Robotic Operational Mathematics and Ceaseless Observation Machine 
						 | 
					 
				 
			 |  
		 
	 | 
	 |