2017-01-29 3 views
0

Мне нужно создать код в Visual Basic, который идентифицирует позицию слова. Например, мое предложение могло бы написать «Это мой проект Visual Basic». Если пользователь ввел слово «мой», выход откроет другую форму, отображающую «Ваше слово находится в 3-й позиции». Его необходимо использовать строки, а затем изменить его на массив.Идентификация слов и предложений

Мой дизайн для этого проекта довольно проста:

TextBox для тя ввода пользователем текста.
A "Подтвердить" Button.
И «Выход» Button.

Кроме того, в Form, содержащий вывод (при подтверждении, что кнопка была нажата) имеется Label (давая ответ) и «ОК» Button вернуть вас обратно к основной программе. Наконец, если их слово не входит в предложение, должно появиться сообщение об ошибке. Программа должна быть предельно чувствительной.

Я довольно новичок в программировании и буду любить любую помощь. Я был бы признателен, если бы вы могли вернуть код для Buttons, TextBox и всей программы.

Действительно пожалуйста. Большое спасибо!!

+0

Вы должны по крайней мере дать ему попробовать осуществить это самостоятельно ... Я даже выделил ключевые слова ... просто _drag-и-drop_ их в VS-дизайнера в нужные места ... – zx485

+0

Используйте 'Instr', как этот' Instr («Это основная строка», «main») 'будет возвращать' 9' – newguy

+0

@ zx485 спасибо, это мой первый проект на Visual Basic, поэтому я имеют мало знаний. Будет ли мой код похож на тот, который находится на https://msdn.microsoft.com/en-us/library/c7cdd1d1(v=vs.90).aspx –

ответ

1

Вы не указали платформу, поэтому этот ответ предназначен только для сценариев развития Office.

Объектная модель Microsoft Word полезна здесь. Вы можете прокручивать объект Sentence, перебирая его коллекцию слов. Прокрутите список слов до тех пор, пока не получите совпадение. Поэтому некоторый код для работы в Microsoft Word

Sub SetUpSentence() 

    Dim currentSelection As Word.Selection 
    Set currentSelection = Application.Selection 

    Application.Options.Overtype = False 

    currentSelection.TypeText Text:="This is some text" 
End Sub 

Sub TestFindWord() 
    Debug.Print FindWord("some") 
End Sub 

Function FindWord(ByVal sWord As String) As Long 

    Dim oWords As Word.Words 
    Set oWords = ActiveDocument.Words 

    Dim lIndex As Long 
    lIndex = 0 
    Dim oRange As Word.Range 
    For Each oRange In oWords 
     lIndex = lIndex + 1 
     If Trim(oRange.Text) = sWord Then 
      FindWord = lIndex 
      Exit Function 
     End If 
    Next oRange 

End Function 
Смежные вопросы