Bu konu hakkında çok fazla araştırma yaptım ve çok fazla şey denedim. Aslında, kullanıcıdan, msoFileDialogSaveAs
filtrelerinde bulunmayan özel bir tür olarak kaydetmesini istemek zorundayım.msoFileDialogFilePicker ile Kaydetme
*.txt
olarak kaydedebileceğimi ve sonra kaydetmeden önce uzantıyı değiştirebileceğimi biliyorum. Bunu yaptım ve işe yaradı, ancak kullanıcı özel türdeki diğer dosyaları içeren bir klasördeki dosyanın adını girdiğinde, etkin filtre bu türden olmadığından, kullanıcı mevcut özel dosya listesini görmez.
Bu nedenle, dosyanın adını yazarak özel bir tür olarak kaydetmek için msoFileDialogFilePicker
kullanmanın bir yolu olup olmadığını merak ediyordum. Yardım için
Function userFileSaveDialog_OneFilterOnly(iFilter As String, _
iExtension As String, _
Optional iTitle As String)
With Application.FileDialog(msoFileDialogFilePicker) '(msoFileDialogSaveAs)
.Filters.Clear
.Filters.Add iFilter, iExtension
.AllowMultiSelect=False
.ButtonName "Save"
.Title = iTitle
If CBool(.Show) Then
userFileSaveDialog_OneFilterOnly = .SelectedItems(.SelectedItems.Count)
Else
End If
End With
End Function
teşekkür:
Burada gibi görünebilir budur! Ben yorum olarak bahsedilen gibi
Neden kullanmak 'Size –
İyi ki çalıştı istediğiniz gibi filtreyi kullanmak sağlayacak Application.GetSaveAsFilename'! Bunu bilmiyordum. FileDialog' nesnesinin tek yol olduğunu düşündüm. Teşekkürler! –