Is there a method by which we can programatically save the workbook?

  • Thread starter Thread starter divya
  • Start date Start date
D

divya

Is there a method by which we can programatically save the workbook?
Like workbook.close closes the workbook,I couldn't find
workbook.save.Is there a way to do.
Actually therz a variable suppose y, if its 1 then next time the user
opens the workbook therz a form which should'nt be displayed.So what I
did is copied the value of y into one of the worksheet and cheking
this cell value in the workbook_open event .if not 1 then dispalys the
form.But problem arises when user inputs Y as 1 and closes the book
without saving.The value of y is not saved in the book,so next time
form opens when he opens the workbook.
My problem can be solved either of two cases

1.therz a way to force the workbook to save immediately after taking
the input value for y,programatically.
2.A way to find that workbook is opened for the first time.

Kindly suggest a way

Regards
 
Perhaps in the Workbook_BeforeClose event
If Thisworkbook.Saved=False Then ThisWorkbook.Save True

Not sure what you mean aboyt the Y/1 issue, but in the Workbook_Open you
can:
ThisWorkbook.Range("Counter").Value=ThisWorkbook.Range("Counter").Value+1

NickHK
 
I thought there is no command called workbook.save,Actually there is
,Activeworkbook.save works.My problem is sorted
Thnks for ure suggestion Nick
 
Dear Divia,

Why you don't use MSReg commands like :

Private Sub Workbook_Open()
Dim Opn1sttime As Integer, r As Long
On Error GoTo er
r = GetSetting("AppName", "SectName", "KeyName") + 1
er:
SaveSetting "AppName", "SectName", "KeyName", r
Y = r
MsgBox Y
End Sub

Try it...

Halim


divya menuliskan:
 
Dear Divia .... ... Again! :))))

Private Sub Workbook_Open()
Dim Opn1sttime As Integer, r As Long

On Error GoTo er 'for 1st time if we never savesetting, to handle
error!
r = GetSetting("AppName", "SectName", "KeyName") + 1
er:
if r = 0 then r = 1 'Assign open first time as 1 (first)SaveSetting
"AppName", "SectName", "KeyName", r
Opn1sttime = r
if Opn1sttime > 1 then
ThisWorkbook.Close True
Else: UserForm!.Show
Endif
'MsgBox Opn1sttime ' Opn1sttime = Y , you mean Divia !
End Sub
'that saved in MS registry :
'HKEY_CURRENT_USER\Software\VB and VBA Program Settings


Regards,,

Halim Chan :)


divya menuliskan:
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top