Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нужен пример *функция файл аргумент" / 12 сообщений из 12, страница 1 из 1
04.10.2015, 21:55
    #39067984
kos20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример *функция файл аргумент"
Все привет! как правильно переда в качестве аргумента функции ссылку на файл?
...
Рейтинг: 0 / 0
04.10.2015, 22:11
    #39067990
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример *функция файл аргумент"
не очень понятно, в чем вопрос. Как и любой другой аргумент. Что собой представляет ссылка на файл?
...
Рейтинг: 0 / 0
05.10.2015, 08:54
    #39068081
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример *функция файл аргумент"
Типа
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
dim filehandle as integer
filehandle = freefile(1)
open #filehandle ...
call mysub(filehandle, ...) ' or ret = myfunc(filehandle, ...)
'...

sub mysub(filehandle as integer, ...) ' or function myfunc(filehandle as integer, ...) as ...
line input #filehandle, temp$
' ...

?
...
Рейтинг: 0 / 0
05.10.2015, 09:08
    #39068087
уу-240
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример *функция файл аргумент"
Akina,

я делал так. Получить ссылку на файл
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
Function GetFilePath(Optional ByVal Title As String = "Выберите файл для обработки", _
                     Optional ByVal InitialPath As String, _
                     Optional ByVal FilterDescription As String = "Файлы счетов", _
                     Optional ByVal FilterExtention As String = "*.*") As String
    On Error Resume Next
    InitialPath = ThisWorkbook.Path & "\"
    With Application.FileDialog(msoFileDialogOpen)
        .ButtonName = "Выбрать": .Title = Title:
        .InitialFileName = GetSetting(Application.Name, "GetFilePath", "folder", InitialPath)
        .Filters.Clear: .Filters.Add FilterDescription, FilterExtention
        If .Show <> -1 Then Exit Function
        GetFilePath = .SelectedItems(1)
        folder$ = Left(.SelectedItems(1), InStrRev(.SelectedItems(1), "\"))
        SaveSetting Application.Name, "GetFilePath", "folder", folder$
    End With
End Function

' получаем ссылку на файл
FilenameToInsert$ = GetFilePath() ' get file name to insert data
FilenameRVPS$ = GetFilePath()

If FilenameToInsert$ = "" Or FilenameRVPS$ = "" Then Exit Sub ' if is not exists - exit
Set WBto = Nothing: Set WBto = xlAp.Workbooks.Open(FilenameToInsert$, False, False)
Set WBfrom = Nothing: Set WBfrom = xlAp.Workbooks.Open(FilenameRVPS$, True, True)

' ниже функция, которая должны вернуть номер строки в файле (ее нужно как-то переписать
Function Getj(shi As Integer, Optional KeyName As String) As Integer
On Error Resume Next
If Len(KeyName) = 0 Then
   KeyName = "Код"
End If
  ei = Sheets(shi).UsedRange.Rows.count
  ej = Sheets(shi).UsedRange.Columns.count
 For i = 1 To ei
     For j = 1 To ej
      If Trim(Sheets(shi).Cells(i, j).Value) = KeyName Then
          Getj = j
      End If
     Next j
   Next i
End Function
...
Рейтинг: 0 / 0
05.10.2015, 09:13
    #39068090
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример *функция файл аргумент"
Это получение вовсе даже не ссылки на файл, а всего лишь имени файла.
...
Рейтинг: 0 / 0
05.10.2015, 09:51
    #39068117
kos20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример *функция файл аргумент"
Akina,

А как правильно передать ссылку на файл или не ссылку, чтобы заработала функция?
...
Рейтинг: 0 / 0
05.10.2015, 10:32
    #39068145
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример *функция файл аргумент"
kos20ссылку на файл или не ссылку
Определитесь уже...

kos20чтобы заработала функция?
Какая, ёпрст, функция? где она?
...
Рейтинг: 0 / 0
05.10.2015, 11:25
    #39068201
kos20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример *функция файл аргумент"
Akina,

' ниже функция, которая должны вернуть номер строки в файле (ее нужно как-то переписать
Function Getj(shi As Integer, Optional KeyName As String) As Integer
...
Рейтинг: 0 / 0
05.10.2015, 12:08
    #39068263
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример *функция файл аргумент"
Есть подозрение, что он хочет передать не ссылку на файл, а ссылку на книгу (на объект книги)....
...
Рейтинг: 0 / 0
05.10.2015, 16:05
    #39068584
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример *функция файл аргумент"
kos20 , Вы только воду мутите (сорри). Что делает вопрос по Excel VBA в форуме по VB? есть же раздел по Microsoft Office. Впрочем, хрен с ею.

Но есть и более важный вопрос - почему Вы передаёте номер листа, а не его имя? И где гарантия, что текущая книга именно та, в которой надо искать, и соответственно лист берётся именно из неё? и вообще - почему не передавать сразу объектную переменную типа Worksheet? ну и до кучи - нафига читать и сравнивать все ячейки по одной, когда у Range есть метод Find?
...
Рейтинг: 0 / 0
06.10.2015, 19:26
    #39069822
kos20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример *функция файл аргумент"
Akina,

Пример можно Range Find.
...
Рейтинг: 0 / 0
06.10.2015, 19:28
    #39069823
kos20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужен пример *функция файл аргумент"
Akina,


В принципе вопрос кустарным методом решен, все работает. На данный момент действительно лист под номером, но переделаю под название.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Нужен пример *функция файл аргумент" / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]