Статистика
Всего в нашей базе более 4 327 663 вопросов и 6 445 976 ответов!

Помогите в задачами по VBA

10-11 класс

Prosto190896 13 июня 2013 г., 10:03:05 (10 лет назад)
Рейтинг
+ 0 -
0 Жалоба
+ 0 -
Rembo1
13 июня 2013 г., 11:32:12 (10 лет назад)

Option Explicit

Dim s As String
Dim CryptoKey As Integer, ns As Integer

Sub CreateCharTable()
    ' Заполняет строку с таблицей для шифрования/дешифрования
    Dim i As Integer, k As Integer
    Dim c As String
    i = 1
    s = ""
    c = "~"
    With Sheets("Лист1")
        While Len(c) > 0
            c = .Cells(i, 1).Value
            If Len(c) > 0 Then
                i = i + 1
                s = s + c
            End If
        Wend
    End With
End Sub

Function GetCodeChar(c As String) As String
    Dim i As Integer, j As Integer
    i = InStr(s, c)
    j = i + CryptoKey
    If j > ns Then j = j - ns
    GetCodeChar = Mid(s, j, 1)
End Function

Function GetDeCodeChar(c As String) As String
    Dim i As Integer, j As Integer
    i = InStr(s, c)
    j = i - CryptoKey
    If j <= 0 Then j = ns + j
    GetDeCodeChar = Mid(s, j, 1)
End Function

Sub CodeString(st)
    Dim i As Integer
    For i = 1 To Len(st)
        Mid(st, i, 1) = GetCodeChar(Mid(st, i, 1))
    Next i
End Sub

Sub Decodestring(st)
    Dim i As Integer
    For i = 1 To Len(st)
        Mid(st, i, 1) = GetDeCodeChar(Mid(st, i, 1))
    Next i
End Sub

Sub aaa()
    Dim c As String
    CryptoKey = Sheets("Лист1").Cells(2, 2).Value  'Ключ шифрования в (B2)
    CreateCharTable
    ns = Len(s)
    If CryptoKey >= ns Then
        MsgBox "Уменьшите длину ключа!"
    Else
        c = InputBox("Введите сообщение, первый символ Ш-щифровать, Д-дешифровывать")
        If Len(c) > 0 Then
            Select Case UCase(Left(c, 1))
            Case "Ш"
                c = Mid(c, 2)
                CodeString c
            Case "Д"
                c = Mid(c, 2)
                Decodestring c
            End Select
            MsgBox c
           
        End If
    End If
End Sub


Ответить

Читайте также

помогите решить задачу по информатике... Племя Мумбу-Юмбу использует алфавит из букв: αβγδεδεζλμξζφψ, точки и для разделения слов используется пробел. Скол

ько информации несет свод законов племени, если в нем 12 строк и в каждой строке по 20 символов?

Здравствуйте) помогите составить задачи по паскалю)

задачи на такую тему: Составление, ввод, трансляция и
исполнение программ, реализующих
циклические алгоритмы и типовые
операции с одномерными массивами



Вы находитесь на странице вопроса "Помогите в задачами по VBA", категории "информатика". Данный вопрос относится к разделу "10-11" классов. Здесь вы сможете получить ответ, а также обсудить вопрос с посетителями сайта. Автоматический умный поиск поможет найти похожие вопросы в категории "информатика". Если ваш вопрос отличается или ответы не подходят, вы можете задать новый вопрос, воспользовавшись кнопкой в верхней части сайта.