Εμφάνιση ενός μόνο μηνύματος
  #1  
Παλιά 16-09-18, 10:55
agrbita Ο χρήστης agrbita δεν είναι συνδεδεμένος
Όνομα: Τάσος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 06-08-2011
Μηνύματα: 57
Προεπιλογή Αποθήκευση Φύλλου εργασίας με επιλογή θέσης

Κύριοι καλημέρα σας,

χρησιμοποίησα κώδικα από το Forum για την αποθήκευση του βιβλίου εργασίας και τον προσάρμοσα λίγο, όμως επειδή μεταφέρω το αρχείο και σε άλλους Υπολογιστές, θα πρέπει να αλλάζω την γραμμή ,
myPath = "C:\WINDOWS\Personal\ΥΕΒ\2018\" στον αντίστοιχο φάκελο που έχω σε κάθε Υπολογιστή.
Παραθέτω τον κώδικα :
Sub mySaveAsExcel()
Dim j As Integer
Dim myPath As String
'Dim mySheet As String
Dim myCell As String

Dim BookName As String

Dim IllegalCharacters As Variant

IllegalCharacters = VBA.Array(">", "<", "?", "[", "]", ":", "|", "*", "/", "\", """")

myPath = "C:\WINDOWS\Personal\ΥΕΒ\2018\"
'mySheet = ActiveSheet.Φύλλο3
myCell = Φύλλο3.Range("A1").Value

BookName = myCell & " " & Format(Now(), "dd-mm-yyyy_hh:mm:ss") & ".xls"

For j = LBound(IllegalCharacters) To UBound(IllegalCharacters)
BookName = VBA.Replace(BookName, IllegalCharacters(j), "")
Next j
ActiveWorkbook.SaveAs Filename:=myPath & BookName, _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False

End Sub

Το ερώτημα λοιπόν είναι:

1) Να γίνεται πάντα η αποθήκευση στον φάκελο "\τα έγγραφά μου (documents)\ΥΕΒ\2018". Θα πρέπει λοιπόν ο κώδικας να ελέγχει αν υπάρχει ο φάκελος "\ΥΕΒ\2018\" και αν δεν υπάρχει να τον δημιουργεί σε κάθε υπολογιστή που εγκαθιστώ το αρχείο. Στους υπολογιστές έχω windows xp, 7 και 10 και η λογική των φακέλων είναι διαφορετική (πχ. c:\user\user1\docouments\ΥΕΒ\2018)

2) Να ελέγχει στο myCell = Φύλλο3.Range("A1").Value, την τιμή στο "Α1" και αν είναι κενό να διακόπτετε ο κώδικας και να εμφανίζει σχετικό μήνυμα (πχ."τί κάνεις τώρα;").

3) στον κώδικα :

Sub MyClear()

Φύλλο2.Range("b4:b7").ClearContents
Φύλλο2.Range("b9:b11").ClearContents
Φύλλο2.Range("b13").ClearContents
Φύλλο2.Range("b15:b16").ClearContents

End Sub

μπορώ να γράψω μία γραμμή για αυτές τις περιοχές κελιών;

ευχαριστώ.
Απάντηση με παράθεση