«Set Application.Workbooks.Open» возвращает неправильное значение - PullRequest
0 голосов
/ 08 апреля 2020

У меня проблема с частью кода, я пытаюсь открыть 2 разные книги и назначить их для другой переменной книги (" WBSOURCE " и " WBCIBLE").

Fist Я выбираю путь к файлу моих книг и назначаю его (" sourcefile"и" ciblefile"), а затем я используя «Set WBCIBLE = Application.Workbooks.Open ( ciblefile )» и «Set WBSOURCE = Application.Workbooks.Open ( sourcefile ) ) ", чтобы открыть и сохранить их как переменную.

Но по неизвестной причине WBSOURCE и WBCIBLE возвращают одно и то же значение (я выбрал другой файл для sourcefile и ciblefile )

Кто-нибудь имеет представление о том, что не так в этом коде?

Большое спасибо заранее:

ниже код

Public sourcefile As String
Public ciblefile As String


------------
Private Sub BoutonChoixCible_Click()
ciblefile = Application.GetOpenFilename 'ciblefile = au choix
Textbox_Cible.Value = ciblefile 'afficher le choix
End Sub

------------
Private Sub BoutonChoixSource_Click()

sourcefile = Application.GetOpenFilename 'sourcefile = au choix
Textbox_Source.Value = sourcefile 'afficher le choix
End Sub

------------
Private Sub BoutonMAJ_Click()

Dim WBSOURCE As Workbook 'ancienne balance
Dim WBCIBLE As Workbook 'nouvelle balance


Set WBCIBLE = Application.Workbooks.Open(sourcefile)
Call MsgBox(sourcefile)
Call MsgBox(WBSOURCE)
Set WBCIBLE = Application.Workbooks.Open(ciblefile)
Call MsgBox(ciblefile)
Call MsgBox(WBCIBLE)

1 Ответ

0 голосов
/ 08 апреля 2020

вы всегда устанавливаете WBCIBLE

так, чтобы это было:

Set WBSOURCE = Application.Workbooks.Open(sourcefile)
MsgBox sourcefile
MsgBox WBSOURCE.Name

Set WBCIBLE = Application.Workbooks.Open(ciblefile)
MsgBox ciblefile
MsgBox WBCIBLE .Name

, но вам лучше сбросить Public переменных и go с TextBox значения непосредственно

Private Sub BoutonMAJ_Click()

    Dim WBSOURCE As Workbook 'ancienne balance
    Dim WBCIBLE As Workbook 'nouvelle balance


    Set WBSOURCE = Application.Workbooks.Open(Textbox_Source.Value)
    MsgBox WBSOURCE .Name

    Set WBCIBLE = Application.Workbooks.Open(Textbox_Cible.Value)
    MsgBox WBCIBLE.Name

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...