Название темы должно отражать суть задачи.
Темы типа "ПОМОГИТЕ!!!", "Срочно!" и т.п. будут удаляться без объяснения причин
Цитата: Dmitry_Cheplya от 28.08.2026, 15:02:44находил информацию, что обойти такую проблему можно с помощью префикса в имени переменной "\\?\" - поставить в начало переменной префикс и все будет хорошоэто работает только начиная с Ecxel 2016 и Windows 10.
paspath = "\\192.168.0.114\PKFSPro\СНАРК проекты\ОТДЕЛ ПРОЕКТИРОВАНИЯ\03-ГРП\01-БЕЗУГЛАЯ\01-ОБЪЕКТЫ\01-2024\04-Санкт-Петербург\01-КШС\17-Рабочая документация\04-УТВЕРЖДЕНО\2. ЭВ\2 этап\Актуальные спецификации 2 этап 07.07.26 (не передано, не согласовано БНС)\"
'pasfile = "КШС-ДПП01-2.2.1-КС.ЭВ.СО 07.07.2026 (1).docx"
pasfile = Dir(paspath)
Set myDocument = Nothing
Do Until pasfile = ""
If pasfile Like "*" & Cells(11, 6).Value & "*" & ".docx" Then
Set myDocument = myWord.Documents.Open(paspath & pasfile)
Exit Do
End If
pasfile = Dir
LoopЦитата: Sammus от 10.04.2026, 22:52:53Что-то не работает.логично. Это потому, что файлы сразу не выкладываете и помогающим надо все самим выдумывать.
objTxtFile.LineSeparator = -1надо "-1" заменить на 10. Тогда все заработает.Цитата: Дмитрий Щербаков(The_Prist) от 10.04.2026, 13:15:58Не очень понимаю такой лени, честно.
Цитата: Sammus от 09.04.2026, 04:25:39Заранее благодарюэм...Ну очень странно выглядит "просьба"...
)Цитата: Sammus от 09.04.2026, 15:24:00Проблема с цифрами. Что-то похожее с SRT видел. Но там пользовали Excel IsNumericв VBA тоже это есть. Поэтому все равно не понимаю сложностей.
Sub ConvertUTF8SrtToRTF()
Dim x
Dim objTxtFile As Object
Dim sNewText$, sNewFN$, st$, lf&
Dim oDoc As Document
Dim IsAdd As Boolean
'диалог выбора текстовых файлов. Подробнее:
' https://www.excel-vba.ru/chto-umeet-excel/dialogovoe-okno-vybora-fajlovpapki/
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = True
.Title = "Выбрать файлы srt"
.Filters.Clear
.Filters.Add "SRT files", "*.srt*", 1
.FilterIndex = 1
.InitialFileName = ActiveDocument.Path
.InitialView = msoFileDialogViewDetails
If .Show = 0 Then Exit Sub
For lf = 1 To .SelectedItems.Count
x = .SelectedItems(lf) '
sNewFN = Replace(x, ".srt", ".") & "rtf"
sNewText = Empty
Set objTxtFile = CreateObject("ADODB.Stream")
objTxtFile.Type = 2
objTxtFile.Charset = "utf-8"
objTxtFile.LineSeparator = -1
objTxtFile.Open
objTxtFile.LoadFromFile x
objTxtFile.Position = 0
Do Until objTxtFile.EOS
st = objTxtFile.ReadText(-2)
IsAdd = True
If Len(st) = 0 Then
IsAdd = False
End If
If IsNumeric(st) Then
IsAdd = False
End If
If InStr(1, st, "-->", 1) > 0 Then
IsAdd = False
End If
If IsAdd Then
If Len(sNewText) Then
sNewText = sNewText & chr(13) & st
Else
sNewText = st
End If
End If
Loop
'закрываем текстовый файл
objTxtFile.Close
'создаем новый файл rtf
Set oDoc = Application.Documents.Add
oDoc.Range.Text = sNewText
oDoc.SaveAs2 sNewFN, wdFormatRTF
oDoc.Close 0
Next
End With
Set objTxtFile = Nothing
MsgBox "Данные всех файлов обработаны", vbInformation, "www.excel-vba.ru"
End Subс плюшками вроде отключения обновления экрана и т.п. уже сами.