Открытие файла

Тема в разделе "Visual Basic", создана пользователем Alex77777, 4 май 2007.

  1. Alex77777

    Alex77777 Гость

    при написании программы столкнуся со следующей штукой: нужно чтобы при нажатии кнопки открывался шаблон в него вносились данные из формы и сохранялся шаблон как: допустим "шаблон март 2007" (нужно чтобы в теме месяц и год был) как поставить дату в название файла понятно, но я нигде не нашел функции Format () чтобы она отображала только месяц-год, везде где есть месяц-год присутствует еще либо число, либо время (Long Date, Medium Date, Short Time) - это первая часть вопроса.
    А вторая как сделать, чтобы при последующем нажатии кнопки проверялся сначала существует ли файл "шаблон март 2007", если да то открыть его и т.д., а если не существует то открыть "шаблон". Понятно, что надо использовать оператор If.... Then, вопрос как проверить существует ли файл в данной директории.

    Dim x As New Excel.Workbook
    Dim h As String
    Dim t As Date 'переменная для месяца-года, у меня в данном случае ещзе и число стоит

    h = "C:\Мои документы\шаблон.xls"

    Set x = Application.Workbooks.Open(h)
    x.Activate

    Cells(24, 2) = txtText1
    Cells(31, 3) = txtText2

    t = txtText2

    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs FileName:= _
    "C:\Мои документы\шаблон" & "t" & ".xls", FileFormat _
    :=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:= _
    False, CreateBackup:=False
    ActiveWorkbook.Save
    ActiveWorkbook.Close

    пробовал через Value как-то измудриться, но в итоге ничего неполучилось красивого.

    Если кто встречался с такими заморачками, подскажите как из них выкрутились.
    Заранее спасибо!
     
  2. Tanya

    Tanya Гость

    1) 4 мая 2007
    "шаблон" & Format$(Now, "mmm yyyy") = "шаблон май 2007"

    m - номер месяцаб 1 или 2 цифры (5)
    mm - номер месяца, 2 цифры (05)
    mmm - название месяца с маленькой буквы (май)
    mmmm - тоже, но с большой буквы (Май)

    yy - 2 последние цифры года (07)
    yyyy - все 4 цифры года (2007)

    2) Dim FName as String 'Полное имя файла
    FName="C:\Мои документы\шаблон май 2007.xls"

    If Len(Dir$(FName)) then
    'существует
    else
    'не существует
    endif
     
  3. Alex77777

    Alex77777 Гость

    спасибо огромное, оказывается все так просто :D

    кстати txtDate.Text = Format$(Now, "dd.mm.yyyy hh:nn:ss")
    допускается символы ставить между днями-месяц и т.п. , только сожхранить файл с таким именем нельзя.

    раз уж задал вопрос о времени - а как сделать чтобы при открытии формы таймер начинал с нуля отсчет, а не отсчитывал мне системное время компа.
    а то я извратился вот таким кодом:

    txtText1.Text = CStr(Time)
    txtText2.Text = Time

    m = txtText2.Text
    n = txtTText1.Text
    mn = m - n
    txtText3.Text = CStr(mn)

    все бы вроде ничего, да вот только если форму открыл до 00:00 ночи, то после 00:00 в текстовом поле txtText3 отсчет идет в убывающем порядке :p
     
  4. Tanya

    Tanya Гость

    используй не Time, а Now - Это и текущая дата и текущее время
     
  5. Alex77777

    Alex77777 Гость

    блин как я сам не додумался B)
    спасибо большое за данное решение! B)
     
Загрузка...
Похожие Темы - Открытие файла
  1. AnnaS
    Ответов:
    39
    Просмотров:
    6.915
  2. vbs
    Ответов:
    5
    Просмотров:
    2.499
  3. unknown181538
    Ответов:
    12
    Просмотров:
    4.416
  4. sanch
    Ответов:
    26
    Просмотров:
    6.860
  5. SeverBap
    Ответов:
    5
    Просмотров:
    2.948

Поделиться этой страницей