У меня время от времени возникают, возможно, глупые вопросы, потому прошу не особо сильно смеятся над ними.
Дело вот в чём:
- Код: Выделить всё
Public Const OFN_NOREADONLYRETURN As Long = &H8000
...
Public Function GetSaveDialog(ByVal hwndMain As Long, ByVal strTitle As String, ByVal strFilter As String, Optional ByVal strInitDirectory As String = "C:\") As String
Dim CommonDialogSave As OPENFILENAME
Dim x As Long
With CommonDialogSave
.lStructSize = Len(CommonDialogSave)
.hwndOwner = hwndMain
.lpstrTitle = strTitle
.lpstrFilter = strFilter
.lpstrInitialDir = strInitDirectory
.lpstrFile = LPBuff(512)
.nMaxFile = 511
.lpstrFileTitle = LPBuff(512)
.nMaxFileTitle = 511
.flags = OFN_HIDEREADONLY Or OFN_LONGNAMES Or _
OFN_OVERWRITEPROMPT '>> Or OFN_NOREADONLYRETURN (НЕ РАБОТАЕТ)
End With
x = GetSaveFileName(CommonDialogSave)
If x <> API_TRUE Then
GetSaveDialog = vbNullString
Exit Function
Else
GetSaveDialog = StripTerminator(CommonDialogSave.lpstrFile)
End If
End Function
Public Function LPBuff(ByVal lNumber As Integer) As String
LPBuff = String$(lNumber, vbNullChar)
End Function
Я уже все варианты расположения флагов перепробовал - не помогает

Как же мне заставить работать флаг OFN_NOREADONLYRETURN?