Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 След.
Как сделать отправку в Telegram из макроса VBA Excel, Telegram из макроса VBA Excel
 
Izobilie Logic, сейчас этот работает так что вы пишете в поиске телеграма название бота и переходите в него... не нажимая кнопку подписаться вы уже видите все сообщения что приходят в бот... мне же интересно что бы до того момента пока не нажали подписаться ничего не было видно.
Как сделать отправку в Telegram из макроса VBA Excel, Telegram из макроса VBA Excel
 
Здравствуйте.
Кто-нибудь пробовал доработать чтобы сообщения приходили только подписавшимся на бот. Или это не возможно?
Run-time error '1004' Ячейка или диаграмма, которую вы пытаетесь изменить, находится на защищенном листе.
 
Дмитрий(The_Prist) Щербаков, спасибо за потраченное время и попытку объяснения.. потихоньку разберусь
UPD. нашел проблему в следующих строках кода... создание гиперссылок. именно из-за них этот глюк (причем ссылка создается но не отображается текст подписи)
Код
.Hyperlinks.Add Anchor:=.Cells(iLastRow, 3), Address:=sNewFolderName12 & "\" & sNewFileName12, TextToDisplay:=Me.TextBox1.Text
.Hyperlinks.Add Anchor:=.Cells(iLastRow, 13), Address:=sNewFolderName13 & "\" & sNewFileName13, TextToDisplay:=Me.TextBox7.Text

UPD. Обошел эту проблему путем создания модуля, в котором прописан код создания гиперссылки и вставив вызов этого модуля в выполнение формы.
Сумбурно описано, но как смог.
Изменено: comment.imho - 19.12.2022 23:27:44
Run-time error '1004' Ячейка или диаграмма, которую вы пытаетесь изменить, находится на защищенном листе.
 
Дмитрий(The_Prist) Щербаков, пример прикрепил. удалил все лишнее и заменил код снятия защиты листа.. все равно та же ошибка.
pass:1111
Изменено: comment.imho - 19.12.2022 19:52:24
Run-time error '1004' Ячейка или диаграмма, которую вы пытаетесь изменить, находится на защищенном листе.
 
Здравствуйте.
Два листа книги защищены от внесения изменений вручную, но не для макросов.
Использованный код.
Код
Private Sub Workbook_Open()
Dim Arr, sSh
Arr = Array("Лист1", "Лист2")
For Each sSh In Arr
Protect_for_User_Non_for_VBA Me.Sheets(sSh)
Next
End Sub
Sub Protect_for_User_Non_for_VBA(wsSh As Worksheet)
wsSh.Protect Password:="1111", AllowFiltering:=True, UserInterfaceOnly:=True
End Sub

Все работало замечательно, но в какой-то момент стало выдавать ошибку (см. фото). В код изменения не вносились.
Может кто сталкивался с таким?
Изменено: comment.imho - 19.12.2022 06:06:48
Создание папки, переименование файла, перемещение переименованного файлав в созданную папку
 
asesja, огромное спасибо.  :)
Создание папки, переименование файла, перемещение переименованного файлав в созданную папку
 
asesja, pass: 1111
Изменено: comment.imho - 18.12.2022 20:24:59
Создание папки, переименование файла, перемещение переименованного файлав в созданную папку
 
asesja, сделал так
Код
' Создание папки
Dim nf As Object
Dim nFolder As String
Set nf = CreateObject("Scripting.FileSystemObject")
nFolder = "D:\" & Cells(iLastRow, 1)
If Not nf.FolderExists(nFolder) Then
nf.CreateFolder (nFolder)
End If
' Переименовать файл
Dim objFSO As Object, objFile As Object
Dim sFileName12 As String, sNewFileName12 As String
sFileName12 = UserForm1.TextBox12.Text
sNewFileName12 = iLastRow - 2 & "KP.pdf"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(sFileName12) = False Then
MsgBox "Такого файла не существует", vbCritical, "Внимание"
Exit Sub
End If
Set objFile = objFSO.GetFile(sFileName12)
objFile.Name = sNewFileName12
MsgBox "Файл переименован", vbInformation, "Сообщение"

Создает папку, переименовывает файл, но теперь зависает в чуть другом месте. Пишет что файл уже существует
Код
Dim sNewFolderName12 As String
sFileName12 = "D:\" & sNewFileName12
sNewFolderName12 = nFolder  
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(sFileName12) = False Then
MsgBox "Такого файла не существует", vbCritical, "Внимание"
Exit Sub
End If
Set objFile = objFSO.GetFile(sFileName12)
objFile.Move sNewFolderName12 ' при ошибке выделяется эта строка. (см. фото)
MsgBox "Файл перемещен", vbInformation, "Сообщение"
Изменено: comment.imho - 18.12.2022 18:30:12
Создание папки, переименование файла, перемещение переименованного файлав в созданную папку
 
Здравствуйте.
Помогите разобраться с  ошибкой в пути куда должен попасть переименованный файл.
В начале создаем папку (успешно). Например получим папку с именем "100"
Код
Dim nFolder As Object
Set nFolder = CreateObject("Scripting.FileSystemObject")
With nFolder
.CreateFolder ("D:\" & Cells(iLastRow, 1))
For i = 1 To 1
Next
End With
Далее переименовываем файл (успешно)
Код
Dim objFSO As Object, objFile As Object
Dim sFileName12 As String, sNewFileName12 As String
sFileName12 = UserForm1.TextBox12.Text
sNewFileName12 = iLastRow - 2 & "KP.pdf"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(sFileName12) = False Then
MsgBox "Такого файла не существует", vbCritical, "Внимание"
Exit Sub
End If
Set objFile = objFSO.GetFile(sFileName12)
objFile.Name = sNewFileName12
MsgBox "Файл переименован", vbInformation, "Сообщение"
Далее перемещаем переименованный файл в ранее созданную папку (ругается на путь)
Код
Dim sNewFolderName12 As String
sFileName12 = "D:\" & sNewFileName12
sNewFolderName12 = nFolder  ' адрес куда перемещать - см. фото ошибки (во вложении)
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.FileExists(sFileName12) = False Then
MsgBox "Такого файла не существует", vbCritical, "Внимание"
Exit Sub
End If
Set objFile = objFSO.GetFile(sFileName12)
objFile.Move sNewFolderName12
MsgBox "Файл перемещен", vbInformation, "Сообщение"

Если вместо nFolder прописать прямой путь "D:\100\" то все работает.
Изменено: comment.imho - 18.12.2022 16:37:46
Сравнить дату в ячейках с актуальной датой при открытии книги
 
asesja, работает. Спасибо.
Сравнить дату в ячейках с актуальной датой при открытии книги
 
Здравствуйте.
Помогите доработать код для сравнения дат содержащихся в ячейках 5-го столбца каждой строки с актуальной датой.
Если дата в какой либо ячейке старше актуальной, то строка содержащая такую ячейку выделятся.
Код
Private Sub Workbook_Open()
Dim iLastRow As Long
Dim i As Integer
With Sheet("Пример")
iLastRow = .Cells(Rows.Count, 5).End(xlDown).Row
For i = 3 To iLastRow
If .Cells(i, 5).Value <= Date Then
.Range("A" & i & ":G" & i).Interior.Color = RGB(255, 225, 225)
End If
End With
End Sub
Изменено: comment.imho - 18.12.2022 10:27:50
Преобразование текста в гиперссылку
 
Дмитрий(The_Prist) Щербаков. Помогло - удалил пробелы и записал одной строкой.
Преобразование текста в гиперссылку
 
Дмитрий(The_Prist) Щербаков,  у меня такие ошибки
Преобразование текста в гиперссылку
 
Дмитрий(The_Prist) Щербаков, не работает. Посмотрите пожалуйста файл.
Преобразование текста в гиперссылку
 
Но не работает в этом коде. Что я упустил?
Код
Private Sub CommandButton1_Click()
Dim iLastRow As Long
Dim i As Integer
With Sheets("Пример")
    iLastRow = .Cells(.Rows.Count, 3).End(xlUp).Row + 1
        For i = 3 To iLastRow - 1
        Next i
    .Cells(iLastRow, 2) = Me.ComboBox1
'    .Cells(iLastRow, 3) = Me.TextBox1
    Sheets("Пример").Hyperlinks.Add Anchor:=Cells(iLastRow, 3), _
     Address:=Me.TextBox4.Value, _
     TextToDisplay:=Me.TextBox1.Value
    
    .Cells(iLastRow, 4) = Me.TextBox6
    .Cells(iLastRow, 5) = CDate(Me.TextBox10.Value)
    .Cells(iLastRow, 6) = CDate(Me.TextBox2.Value)
    .Cells(iLastRow, 7) = Me.ComboBox2
End With

    iLastRow = Cells(Rows.Count, 3).End(xlUp).Row
    Cells(iLastRow, 1) = iLastRow - 2
    ComboBox1.SetFocus
Application.ScreenUpdating = True
End Sub
Преобразование текста в гиперссылку
 
Дмитрий(The_Prist) Щербаков, сделал так.
Код
Private Sub CommandButton1_Click()
Dim i As Integer
With Worksheets("Лист1")
    i = .Cells(.Rows.Count, 1).End(xlUp).Row + 1

Worksheets("Лист1").Hyperlinks.Add Anchor:=Cells(i, 1), _
     Address:=UserForm1.TextBox2.Value, _
     TextToDisplay:=UserForm1.TextBox1.Value
End With
End Sub
Изменено: comment.imho - 15.12.2022 18:09:15
Преобразование текста в гиперссылку
 
Роман Петров, Нет. в Вашем примере текст из поля 1 и поля 2 будет вставляться в ячейку.
Мне нужно что бы в ячейке был текст из первого поля, при этом же он был гиперссылкой на файл (путь к которому прописан в поле 2)
Изменено: comment.imho - 15.12.2022 16:20:33
Преобразование текста в гиперссылку
 
Здравствуйте.
В форме есть 2 текст бокса. В первый вписывается Название, во второе попадает путь к файлу (выбирается по нажатию кнопки справа текст бокса).

Как сделать что бы при нажатии кнопки Добавить  в ячейку попадал текст из первого текст бокса и являлся бы гиперссылкой из второго.

Сейчас код такой:
Код
Private Sub CommandButton1_Click()
With Worksheets("Лист1")
    i = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
    .Cells(i, 1) = UserForm1.TextBox1.Value
    .Cells(i, 2) = UserForm1.TextBox2.Value
End With
'Очистка формы для дальнейшего ввода данных
Me.TextBox1 = ""
Me.TextBox1.BackColor = &H80000005
Me.TextBox2 = ""
Me.TextBox2.BackColor = &H80000005
End Sub

Private Sub UserForm_Initialize()
     With TextBox2 'кнопка для доп информации
        .DropButtonStyle = fmDropButtonStyleReduce  'вид кнопки
        .ShowDropButtonWhen = fmShowDropButtonWhenAlways    'показывать кнопку
     End With
End Sub

Private Sub TextBox2_DropButtonClick()
    With Application.FileDialog(msoFileDialogFilePicker)
        .Filters.Clear
        .Filters.Add "PDF files", "*.pdf*"
        .AllowMultiSelect = False
        .InitialFileName = ThisWorkbook.Path
        If .Show = 0 Then Exit Sub
        TextBox2 = .SelectedItems(1)
    End With
End Sub
Изменено: comment.imho - 15.12.2022 16:21:55
При двойном клике в ячейке запись любого значения в другую ячейку этой же строки.
 
Ігор Гончаренко, спасибо
Код
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim Result
  If Target.Cells.Count > 1 Then Exit Sub Else Cancel = True
  With Target
    Result = MsgBox("Пример", vbYesNo + 64)
    If Result = vbYes Then
Cells(Target.Row, 6) = "From: " & Target
    Else
    End If
  End With
End Sub
Изменено: comment.imho - 11.12.2022 13:49:25
При двойном клике в ячейке запись любого значения в другую ячейку этой же строки.
 
Значение всегда выводится в ячейку F4 - это верно для строки 4. Но если кликать, например по А10, то и выводится должно в F10.
Прошу прощения если не корректно сразу написал условия.
При двойном клике в ячейке запись любого значения в другую ячейку этой же строки.
 
Ігор Гончаренко, не работает, но думаю Вы и так это знаете.
При двойном клике в ячейке запись любого значения в другую ячейку этой же строки.
 
Здравствуйте. Прошу помощи завершить решение.
При двойном клике любой ячейки в строке выводится диалог MsgBox. При нажатии "Да" в ячейку F этой же строки записать любое значение (текст).
Например. Если клик по В4, то записать в F4. Если клик по Е10, то записать в F10 и т.д.
Изменено: comment.imho - 11.12.2022 12:55:43
Сверка текста из textbox с паролем из текущей учетной записи пользователя Windows.
 
Данный код выдает "Ошибка", окно авторизации Windows не появляется.
Несоответствие размеров UserForm и textbox (и др) помещенных в него
 
Здравствуйте.
Пожалуйста, объясните мне почему при заданной ширине UserForm = 100 при вставке в нее TextBox шириной 100 и отступом слева 0, почему этот TextBox не помещается в UserForm?
Где прочесть как правильно отсчитывать координаты, учитывать или нет толщину рамки окна формы и где тогда ее узнать?
Спасибо.
Сверка текста из textbox с паролем из текущей учетной записи пользователя Windows.
 
Нужна помощь с проверкой кода.
При нажатии кнопки "Логин / Пароль" должно отобразится окно Аутентификации Windows для ввода Логина и Пароля. При успешном вводе в TextBox1 должна появится запись "Успешно", при неверном вводе: сообщение "Ошибка."
Сам в данный момент не могу проверить, т.к. ПК не в домене.
Код
Sub CommandButton1_Click()
If WindowsLogin("UserName", "Password", GetDomainName) Then
     TextBox1.Value = "Успешно"
Else
MsgBox "Ошибка", 64, "Внимание"
Exit Sub
End If
End Sub

Function GetDomainName()
Dim Info
     Set Info = CreateObject("AdSystemInfo")
     GetDomainName = Info.DomainDNSName
End Function

Function WindowsLogin(ByVal strUserName As String, ByVal strpassword As String, ByVal strDomain As String) As Boolean
     On Error GoTo IncorrectPassword
Dim oADsObject, oADsNamespace As Object, ADSI As Object
Dim strADsPath As String
     Set ADSI = CreateObject("ADSystemInfo")
     strADsPath = "LDAP://" & strDomain
     Set oADsNamespace = GetObject("LDAP:")
     Set oADsObject = oADsNamespace.OpenDSObject(strADsPath, ADSI.UserName, strpassword, 0)
     WindowsLogin = True
ExitSub:
     Exit Function
IncorrectPassword:
     WindowsLogin = False
     Resume ExitSub
End Function
Сверка текста из textbox с паролем из текущей учетной записи пользователя Windows.
 
Конечная цель: удаление строки с данными. Нужно подтвердить это действие паролем
Изменено: comment.imho - 01.05.2022 08:42:15
Сверка текста из textbox с паролем из текущей учетной записи пользователя Windows.
 
Здравствуйте.
В данной теме описан способ смены пароля текущей учетной записи пользователя Windows со следующим кодом:
Код
Dim WshNetwork As Object, sCompName As String, oUser As Object, sName
Set WshNetwork = CreateObject("WScript.Network")
sCompName = WshNetwork.ComputerName  'получаем имя компа
sName = WshNetwork.UserName          'получаем имя текущего пользователя
On Error Resume Next
'sName - имя пользователя на компьюторе
Set oUser = WshNetwork.GetObject("WinNT://" & sCompName & "/" & sName)
oUser.ChangePassword PassOld, "2584"
'ввод нового пароля
oUser.SetInfo
Как (если возможно) его исправить под возможность сверить введенное значение в textbox1 с текущим паролем учетной записи пользователя Windows?
Критика принимается. Помощь приветствуется.
Спасибо.
Изменено: comment.imho - 01.05.2022 08:42:02
Частичный вывод из TextBox в MsgBox
 
Всем спасибо за помощь.
Частичный вывод из TextBox в MsgBox
 
БМВ, Я на правильном пути?
Код
Private Sub CommandButton1_Click()
Dim n1 As Long, n2 As Long
Dim K_, F_, I_, O_
K_ = UserForm1.TextBox1.Text
n1 = InStr(1, K_, " ")
n2 = InStr(n1 + 1, K_, " ")
F_ = Left(K_, n1 - 1)
I_ = Mid(K_, n1 + 1, n2 - n1 - 1)
O_ = Right(K_, Len(K_) - n2)
    MsgBox I_ & O_, 64, "Сообщение"
End Sub
Частичный вывод из TextBox в MsgBox
 
БМВ,  Правила форума
Цитата
2.5. Помните о том, что все участники форума отвечают на ваши вопросы на добровольной основе. Здесь не техподдержка Microsoft   :)  Просто нам нравится помогать хорошим людям. Будьте вежливы и терпеливы - и вам обязательно помогут.
Мне всегда так и казалось, что вся суть форума в помощи. Кто хочет и может тот поможет. Другой пройдет мимо.
Страницы: 1 2 3 След.
Наверх