VBA создает файл журнала. Создать файл vba


Практическое руководство. Создание файла в Visual Basic

  • 07/20/2015
  • Время чтения: 2 мин
  • Соавторы

In this article

В этом примере создается пустой текстовый файл по указанному пути с использованием метода Create класса File.This example creates an empty text file at the specified path using the Create method in the File class.

ПримерExample

Imports System Imports System.IO Imports System.Text Module Module1 Sub Main() Dim path As String = "c:\temp\MyTest.txt" ' Create or overwrite the file. Dim fs As FileStream = File.Create(path) ' Add text to the file. Dim info As Byte() = New UTF8Encoding(True).GetBytes("This is some text in the file.") fs.Write(info, 0, info.Length) fs.Close() End Sub End Module

Компиляция кодаCompiling the Code

Для записи в файл используется переменная file.Use the file variable to write to the file.

ОтказоустойчивостьRobust Programming

Если файл уже существует, он заменяется.If the file already exists, it is replaced.

При следующих условиях возможно возникновение исключения:The following conditions may cause an exception:

Безопасность платформы .NET Framework.NET Framework Security

Исключение SecurityException может быть создано в средах с частичным доверием.A SecurityException may be thrown in partial-trust environments.

Вызов метода Create требует FileIOPermission.The call to the Create method requires FileIOPermission.

Исключение UnauthorizedAccessException возникает, если пользователь не имеет разрешения на создание файла.An UnauthorizedAccessException is thrown if the user does not have permission to create the file.

См. такжеSee Also

System.IOCreateИспользование библиотек из частично доверенного кодаUsing Libraries from Partially Trusted CodeОсновы управления доступом для кодаCode Access Security Basics

docs.microsoft.com

VBA создает файл журнала MS Excel онлайн

Привет, можете ли вы помочь мне с кодом в VBA? Я хотел бы создать файл журнала из текста в ячейках («C2» и «C3» + дата и время), когда я нажимаю кнопку «zadat» Спасибо

Мой код для реализации:

Модуль 1

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub zadat() Dim reg, check As String Dim i, j, done As Integer reg = Cells(2, 3).Value check = Cells(4, 3).Value If check = "True" Then i = 2 j = 1 done = 0 Do While Sheets("data").Cells(i, j) <> "" If Sheets("data").Cells(i, j) = reg Then vytisteno = ZkontrolovatAVytiskoutSoubor() done = Sheets("data").Cells(i, j + 3) done = done + 1 Sheets("data").Cells(i, j + 3) = done Exit Do End If i = i + 1 Loop Else MsgBox ("Opravit, špatný štítek!!!") End If Cells(3, 3) = "" Cells(3, 3).Select ActiveWindow.ScrollRow = Cells(1, 1).row End Sub

Модуль 2:

Option Explicit Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long Public Function PrintThisDoc(formname As Long, FileName As String) On Error Resume Next Dim x As Long x = ShellExecute(formname, "Print", FileName, 0&, 0&, 3) End Function Public Function ZkontrolovatAVytiskoutSoubor() As Boolean Dim printThis Dim strDir As String Dim strFile As String strDir = "W:\Etikety\Štítky\Krabice\Testy" strFile = Range("C2").Value & ".lbe" If Not FileExists(strDir & "\" & strFile) Then MsgBox "soubor neexistuje!" ZkontrolovatAVytiskoutSoubor = False Else printThis = PrintThisDoc(0, strDir & "\" & strFile) ZkontrolovatAVytiskoutSoubor = True End If End Function Private Function FileExists(fname) As Boolean 'Returns TRUE if the file exists Dim x As String x = Dir(fname) If x <> "" Then FileExists = True _ Else FileExists = False End Function
Solutions Collecting From Web of "VBA создает файл журнала"

Если вы не хотите использовать FSO, существует простое решение, использующее только инструкции VBA: Open , Print # и Close :

Sub Log2File(Filename As String, Cell1, Cell2) Dim f As Integer f = FreeFile Open Filename For Append Access Write Lock Write As #f Print #f, Now, Cell1, Cell2 Close #f End Sub

Я поместил имя файла и ячейки refs как аргументы sub для цели повторного использования. Я также использую форматирование по умолчанию (local), но это можно легко изменить. Обратите внимание, что вам не нужно проверять наличие файла, он будет создан, если он не существует.

Попробуй это. Ниже код будет каждый раз создавать новый файл журнала

Public Function LogDetails() Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") Dim logFile As Object Dim logFilePath As String Dim logFileName As String 'Replace 'TestLog' with your desired file name logFileName = "TestLog" & ".txt" myFilePath = "C:\Users\..\Desktop\" & logFileName 'Modify the path here If fso.FileExists(myFilePath) Then Set logFile = fso.OpenTextFile(myFilePath, 8) Else ' create the file instead Set logFile = fso.CreateTextFile(myFilePath, True) End If logFile.WriteLine "[" & Date & " " & Time & "] " & Worksheet("yoursheetnamehere").Cells(2, 3) & " " & Worksheet("yoursheetnamehere").Cells(3, 3) logFile.Close ' close the file End Function

excel.bilee.com

vba - VBA создает файл журнала

Привет, можете ли вы помочь мне с кодом в VBA? Я хотел бы создать файл журнала из текста в ячейках ("C2" и "C3" + дата и время), когда я нажимаю кнопку "zadat" Спасибо

Мой код для реализации:

Модуль 1

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub zadat() Dim reg, check As String Dim i, j, done As Integer reg = Cells(2, 3).Value check = Cells(4, 3).Value If check = "True" Then i = 2 j = 1 done = 0 Do While Sheets("data").Cells(i, j) <> "" If Sheets("data").Cells(i, j) = reg Then vytisteno = ZkontrolovatAVytiskoutSoubor() done = Sheets("data").Cells(i, j + 3) done = done + 1 Sheets("data").Cells(i, j + 3) = done Exit Do End If i = i + 1 Loop Else MsgBox ("Opravit, špatný štítek!!!") End If Cells(3, 3) = "" Cells(3, 3).Select ActiveWindow.ScrollRow = Cells(1, 1).row End Sub

Модуль 2:

Option Explicit Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _ ByVal hwnd As Long, _ ByVal lpOperation As String, _ ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long Public Function PrintThisDoc(formname As Long, FileName As String) On Error Resume Next Dim x As Long x = ShellExecute(formname, "Print", FileName, 0&, 0&, 3) End Function Public Function ZkontrolovatAVytiskoutSoubor() As Boolean Dim printThis Dim strDir As String Dim strFile As String strDir = "W:\Etikety\Štítky\Krabice\Testy" strFile = Range("C2").Value & ".lbe" If Not FileExists(strDir & "\" & strFile) Then MsgBox "soubor neexistuje!" ZkontrolovatAVytiskoutSoubor = False Else printThis = PrintThisDoc(0, strDir & "\" & strFile) ZkontrolovatAVytiskoutSoubor = True End If End Function Private Function FileExists(fname) As Boolean 'Returns TRUE if the file exists Dim x As String x = Dir(fname) If x <> "" Then FileExists = True _ Else FileExists = False End Function источник поделиться

qaru.site