Независимый форум, посвященный системе БОСС-Кадровик  и всему, что с ней связано
  | 
				 
				 | 
			 
		 
		 
	
		| Предыдущая тема :: Следующая тема   | 
	 
	
	
		| Автор | 
		Сообщение | 
	 
	
		giddy
 
 
  Зарегистрирован: 28.01.2022 Сообщения: 11 Откуда: Санкт-Петербург
  | 
		
			
				 Добавлено: Вт Мар 01, 2022 10:14    Заголовок сообщения: Слияние ячеек в таблице Word | 
				     | 
			 
			
				
  | 
			 
			
				Коллеги, поделитесь примером кода X/VBScript, сливающим ячейки в таблице в ворде.
 
В интернетах полно примеров кода на VBA, но как ни пытаюсь приладить его к БОССу – ничего не получается ( 
 
Для примера, пытаюсь слить две ячейки внутри стандартного боссовского отчета:
 
 	  | Код: | 	 		  LOCAL VB.Wrd==&wordApp;    
 
    vb{
 
       Dim Rng
 
       Dim oDoc
 
       Set oDoc = Wrd.ActiveDocument
 
                               With oDoc.Tables(1)
 
                                 Set Rng = .Cell(2,1).Range
 
                                 Rng.End = .Cell(3,1).Range.End
 
                                 Rng.Cells.Merge
 
                                 Rng.Text = "Merged Column Cells"
 
                               End With
 
      };
 
 
 
 | 	  
 
Не ругается, но ничего не делает ( | 
			 
		  | 
	 
	
		| Вернуться к началу | 
		 | 
	 
	
		  | 
	 
	
		tveritin
 
 
  Зарегистрирован: 26.01.2016 Сообщения: 198 Откуда: Санкт-Петербург
  | 
		
			
				 Добавлено: Чт Фев 09, 2023 15:07    Заголовок сообщения: Re: Слияние ячеек в таблице Word | 
				     | 
			 
			
				
  | 
			 
			
				 	  | giddy писал(а): | 	 		  | Не ругается, но ничего не делает ( | 	  
 
 
У меня выполнилось.
 
 	  | Код: | 	 		  
 
LOCAL VB.Wrd==&wordApp;   
 
    vb{
 
       Dim Rng
 
       Dim oDoc
 
       Set oDoc = Wrd.ActiveDocument
 
                               With oDoc.Tables(5)
 
                                 Set Rng = .Cell(10,1).Range
 
                                 Rng.End = .Cell(13,2).Range.End
 
                                 Rng.Cells.Merge
 
                                 Rng.Text = "Merged Column Cells"
 
                               End With
 
      }; | 	  
 
 
 
Смотрите, может к номеру таблицы обращаетесь не к тому. | 
			 
		  | 
	 
	
		| Вернуться к началу | 
		 | 
	 
	
		  | 
	 
	
		giddy
 
 
  Зарегистрирован: 28.01.2022 Сообщения: 11 Откуда: Санкт-Петербург
  | 
		
			
				 Добавлено: Пт Фев 10, 2023 11:29    Заголовок сообщения:  | 
				     | 
			 
			
				
  | 
			 
			
				 	  | tveritin писал(а): | 	 		  | Смотрите, может к номеру таблицы обращаетесь не к тому. | 	  
 
 
В тестовом шаблоне одна таблица, без вариантов  
 
В общем, у меня вот такая конструкция заработала:
 
 	  | Код: | 	 		  
 
 vb{
 
  Dim Rs
 
  Dim Re
 
  Dim oDoc
 
  Set oDoc = Wrd.ActiveDocument
 
  With oDoc.Tables(1)
 
   Rs = .Cell(2,1).Range.Start
 
   re = .Cell(3,1).Range.End
 
  End With
 
  oDoc.Range(Rs,Re).Select
 
   };
 
 
wordApp.Selection.Cells.Merge;
 
wordApp.Selection.Text = "Merged Column Cells"
 
 | 	 
  | 
			 
		  | 
	 
	
		| Вернуться к началу | 
		 | 
	 
	
		  | 
	 
	
	
	
	
		 | 
	 
 
  
	 
	    
	   | 
	
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
  | 
   
 
		 |