Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: редактирование кода vb Добавлено: 04.07.06 23:10  

Автор вопроса:  koljan
нужно сделать чтобы после каждого For в следующей строке ставилась табуляция ну и если есть вложенные FORы то больше табуляций

Sub basic()
Dim ot As Integer
Dim NEot As Integer
Dim MASpar(100) As Byte
Dim MASparOT(100) As Byte
Dim MASnepar(100) As Byte
Dim MASneparNEOT(100) As Byte
For i = 1 To ActiveDocument.Paragraphs.Count
  If Trim(ActiveDocument.Paragraphs(i).Range.Words(1)) = "For" Then
     ot = ot + 1
     MASpar(ot) = i
     MASparOT(i) = ot
  End If
  NEot = ot
  If Trim(ActiveDocument.Paragraphs(i).Range.Words(1)) = "Next" Then
    NEot = NEot - 1
    If NEot < 0 Then NEot = 0
   MASnepar(NEot) = i
   MASneparNEOT(i) = NEot
  End If
 Next
 
For j = 1 To ActiveDocument.Paragraphs.Count
   ActiveDocument.Paragraphs(j + 1).Range.Text = String(MASparOT(j), Chr(9)) + ActiveDocument.Paragraphs(j + 1).Range.Text
Next
End Sub

я вот сделал немного но ставиться только в одной строке после FOR

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 SRV



ICQ: 254226129 

Вопросов: 30
Ответов: 107
 Профиль | | #1 Добавлено: 05.07.06 09:50
Попробуй использовать vbCrlf может покатит :)

Ответить

Номер ответа: 2
Автор ответа:
 koljan



Вопросов: 2
Ответов: 4
 Профиль | | #2 Добавлено: 05.07.06 13:59
вопрос решён


Sub basic()
Dim ot As Integer
Documents.Open ("c:\temp\vba.doc";)
Documents(1).Select
Selection.Copy
Documents(2).Range.Paste
Documents(2).Activate
ot = 0
For i = 1 To ActiveDocument.Paragraphs.Count
ActiveDocument.Paragraphs(i).Range.Words(1).Select
  If Trim(ActiveDocument.Paragraphs(i).Range.Words(1)) = "For" Then
     ot = ot + 1
     End If
  If Trim(ActiveDocument.Paragraphs(i).Range.Words(1)) = "Next" Then
    ot = ot - 1
    'ActiveDocument.Paragraphs(i + 1).Range.Text = String(ot, Chr(9)) + ActiveDocument.Paragraphs(i + 1).Range.Text
    If ot < 0 Then
    ot = 0
    End If
   End If
   If Trim(ActiveDocument.Paragraphs(i).Range.Words(1)) = "For" Then
      ActiveDocument.Paragraphs(i).Range.Text = String(ot - 1, Chr(9)) + ActiveDocument.Paragraphs(i).Range.Text
      Else
      ActiveDocument.Paragraphs(i).Range.Text = String(ot, Chr(9)) + ActiveDocument.Paragraphs(i).Range.Text
   End If
   
   If Trim(ActiveDocument.Paragraphs(i).Range.Words(1)) = "Next" Then
      ActiveDocument.Paragraphs(i - 1).Range.Text = String(ot, Chr(9)) + ActiveDocument.Paragraphs(i - 1).Range.Text
   End If
 Next
End Sub

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам